STM32CubeMX 配置
首先打开STM32CubeMX 选择芯片型号建立工程,我这里选择STM32F03ZET6(正点原子战舰V3) 具体新建工程的过程不再赘述,太基础。
首先配置System Core目录下的SYS和RCC选项卡如下图:
(1)配置SYS下的Debug为Serial Wire
(2)配置RCC下的HSE(高速时钟)为外部晶振Crystal/Ceramic Resonator,具体根据板子的硬件配置设置
(3)使能CAN总线并配置相关参数
在此说明CAN总线相关参数的配置方法,在F103ZET6中CAN是挂载在APB1下的低速外设,时钟36MHz,参数中的Prescaler(for Time Quantum)是指预分频系数,跟CAN总线的波特率相关,我这里设置为36分频,如此一来时钟就是1MHz,每一个周期为1us(即后面参数的1个Time是1us)方便计算,Time Quanta in Bit Segment 1和Time Quanta in Bit Segment 2 也是影响波特率的两个参数,具体计算如下:
Bound=1/(1*Tq+Tqbs1+Tqbs2)
其中Tqbs1代表的就是Time Quanta in Bit Segment 1所对应的时间,Tqbs2代表的就是Time Quanta in Bit Segment 2所对应的时间,Tq代表的是1个Time的时间。
所以以我的配置举例:1/(1us+4us+5us)=100K,这就是我的波特率。