一、CAN的时钟和波特率设置
1.先找到CAN时钟,GD32F470的CAN用的是APB1,最大是60M主频
2.在根据用户手册里描述的CAN波特率算法
CAN波特率= APB1(60MHz)/(SYNC_SEG+BS1+BS2)/prescaler
采样点=(1+BS1)/(SYNC_SEG+BS1+BS2)
比如要实现500K的速率,90%采样点,对应的参数如下:
SYNC_SEG=1, BS1=8,BS2=1,Prescaler=12;
二、库函数配置
1.引入库
代码如下(示例):
/* initialize CAN */
can_parameter.time_triggered = DISABLE;
can_parameter.auto_bus_off_recovery = DISABLE;
can_paramete