- 26
- 0
- 约7.02万字
- 约 8页
- 2016-12-23 发布于贵州
- 举报
一般设置CAN_SJW = 1,总结程序发现!!!
can时钟是RCC_APB1PeriphClock,你要注意CAN时钟频率 CAN波特率 = RCC_APB1PeriphClock/+CAN_BS1+CAN_BS2)/CAN_Prescaler;
另外尽可能的把采样点设置为 CiA 推荐的值:75%????? when 波特率 800K80%????? when 波特率 500K87.5%??? when 波特率 = 500K所以对于 100K 的波特率(假定使用 8MHz 时钟) 可以修改该BS1 BS2 为:CAN_InitStructure.CAN_Prescaler=5;CAN_InitStructure.CAN_BS1=CAN_BS1_13tq;CAN_InitStructure.CAN_BS2=CAN_BS2_2tq;(1+13) / (1+13+2) = 87.5%
CAN波特率计算—网友总结
STM32里的CAN 支持2.0A,2.0B, 带有FIFO,中断等, 这里主要提一下内部的时钟应用.
bxCAN挂接在APB1总线上,采用总线时钟,所以我们需要知道APB1的总线时钟是多少. 我们先看看下图,看看APB1总线时钟:
APB1时钟取自AHB的分频, 而AHB又取自系统时钟的分频, 系统时钟可选HSI,HSE, PLL
原创力文档

文档评论(0)