一、修改引脚


CH32V307CAN2的TX为PB13,RX为PB12
注意用CAN2时需要初始化CAN1的时钟。
二、配置CAN2过滤器开始的组(组号与图24-4相对应)



三、将FIFO0改为FIFO1(可选)


四、CAN波特率计算方法
计算公式如下:

tpclk1:APB1的时钟周期
TS1[3:0]:时间段1 设置值。定义了时间段1 占用了多少个最小时间单元,实际值为(TS1[3:0]+1)。
TS2[2:0]:时间段2 设置值。定义了时间段2 占用了多少个最小时间单元,实际值为(TS2[2:0]+1)。
BRP[9:0]:最小时间长度设置值


该例程主频为96M,pclk1为主频的1/2,故pclk1为48M。

CAN_BS2_5tq表示TS2[2:0]的值为4

CAN_BS1_6tq表示TS1[3:0]的值为5

BRP[9:0]的值为12
波特率=48M/((4+1+5+1+1)*12)=333Kbps
|