================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2025-10-30      CDT         7.70      5.36      gcc-arm-none-eabi-10.3-2021.10-win32

================================================================================
平台说明
================================================================================
GCC工程，由Eclipse IDE外挂GNU-ARM Toolchain，再结合pyOCD GDB Server实现工程的编译、
链接和调试。在用Eclipse导入工程后，请将xxxx_PyOCDDebug中pyocd-gdbserver和SVD文件
设置为正确的路径；请将xxxx_PyOCDDownload中pyocd设置为正确的路径。注意，这些路径不
能包含非英文字符。

================================================================================
功能描述
================================================================================
本例程展示了MCAN 经典CAN通信的波特率配置、接收过滤器、数据帧接收、数据帧发送以及中断
的基本实现方式。

1. 波特率设置
   1）CAN模式为经典CAN模式；
   2）系统时钟120MHz；
   3）CAN通信时钟为系统时钟的3分频，即40MHz；
   4）CAN位时间分频为通信时钟的2分频，即20MHz；
   5）CAN通信波特率为1Mbps，位时间为20TQ，采样点为80%；

2. 接收过滤器配置
    -------------------------------------------------------
    |     ID       |  ID类型  |           接收            |
    -------------------------------------------------------
    | 0x110~0x11F  |  标准ID  |         Rx FIFO0          |
    -------------------------------------------------------
    | 0x130        |  标准ID  |         Rx Buffer0        |
    -------------------------------------------------------
    | 0x131        |  标准ID  |         Rx Buffer1        |
    -------------------------------------------------------
    | 0x132        |  标准ID  |         Rx Buffer2        |
    -------------------------------------------------------
    | 0x12345110 ~ |          |                           |
    | 0x1234511F   |  扩展ID  |         Rx FIFO1          |
    -------------------------------------------------------
    | 0x12345130   |  扩展ID  |         Rx Buffer3        |
    -------------------------------------------------------
    | 0x12345131   |  扩展ID  |         Rx Buffer4        |
    -------------------------------------------------------
    | 0x12345132   |  扩展ID  |         Rx Buffer5        |
    -------------------------------------------------------

================================================================================
测试环境
================================================================================
测试用板:
---------------------
EV_F336_LQ64_Rev1.0

辅助工具:
---------------------
CAN设备，跳线帽

辅助软件:
---------------------
串口调试助手软件（115200bps，8N1）
CAN设备配套软件

================================================================================
使用步骤
================================================================================
1）用 MicroUSB数据线通过 DAP 调试接口，将开发板与上位机相连（可以直接通过串口调试助
   手查看程序运行情况）；
2）将开发板的CAN1接口（J15凤凰端子，对应MCAN1）与CAN设备通过CAN总线连接，将总线阻抗
   匹配为60Ω（短接JP1可使用板载120Ω电阻，此时需再外接一个120Ω电阻），并配置CAN设备的
   波特率和采样点，与例程的配置相同；
3）打开工程，重新编译，启动调试或直接下载程序运行；
4）CAN设备会收到开发板发出的两帧数据帧，ID分别为标准ID 0x777和扩展ID 0x17777777，
   数据长度都为8字节；
5）用CAN设备向开发板发送数据帧，ID如“接收过滤器配置”所示，数据长度最大8字节。
   开发板收到后，将ID的bit11~bit8改为3、数据首字节为1个8位的计数器、其他数据不变，
   形成新的数据帧，并发送出来。
   如收到ID为 0x110 的帧，将发出ID为 0x310 的帧；
   如收到ID为 0x12345110 的帧，将发出ID为 0x12345310 的帧。
   其中，Rx FIFO0、Rx Buffer0~5接收一帧发送一帧；Rx FIFO1要在接收满10帧之后才会读出
   所有数据帧并同时发送出来。

================================================================================
注意
================================================================================
1. CAN控制逻辑时钟（PCLK1）频率不能低于CAN通信时钟频率。
2. 只使用一个模块时，也须同时使能MCAN1和MCAN2模块（通过寄存器PWC_FCG1）。
3. 在开发板上使用MCAN2时（对应CAN2接口，J14凤凰端子），需要将J1的中间引脚与CAN2_TX
   短接、J20的中间引脚与CAN2_RX短接；短接JP2可使用板载120Ω电阻。

================================================================================
