STM32, GD32 cubemx CAN 低速率125kbps 报文丢失,解决了

用STM32 CUBEMX生成的GD32的 can程序,在500K波特率时可以正常使用,没有发现丢包,但速率降到250k和125k时,发送138帧数据,会丢失5个包。(系统时钟168M,APB1的时钟42M)

试了各种方法无法解决,后来发现分频系数设的很大为84,BS1为2,BS2为1,SJW为1,can波特率为42M/84/(2+1+1)=125k。

解决方法:

方法1:把系统时钟改成120M,APB1设成最大的60M,分频系数改为48,BS1为5,BS2为4,SJW为1,can的波特率为60M/48/(5+4+1)=125k。

方法2:把系统时钟改成168M,APB1设成42M,分频系数改为42,BS1为4,BS2为3,SJW为1,can的波特率为42M/42/8 = 125K。

这样就不丢包了,怀疑时分频系数设置的太大了。

相关推荐
景彡先生2 小时前
STM32启动流程详解:从复位到main函数的完整路径
stm32·单片机·嵌入式硬件
安庆平.Я3 小时前
STM32——启动过程浅析
stm32·单片机·嵌入式硬件
Python小老六3 小时前
stm32是如何实现电源控制的?
stm32·单片机·嵌入式硬件
牵牛老人11 小时前
QUdpSocket 详解:从协议基础、通信模式、数据传输特点、应用场景、调用方式到实战应用全面解析
单片机·嵌入式硬件
ghie909012 小时前
51单片机串行通信的设计原理有哪些?
单片机·嵌入式硬件·51单片机
Hello_Embed12 小时前
嵌入式 C 语言入门:循环结构学习笔记 —— 从语法到实用技巧
c语言·笔记·stm32·学习
tt55555555555513 小时前
面经——电子电路技术知识详解
嵌入式硬件·电路
亦诚亦心16 小时前
STM32中IRAM和IROM详细解释
stm32·单片机·嵌入式硬件
fbuilke16 小时前
STM32根据手册入门DAC8562
单片机·嵌入式硬件
文火冰糖的硅基工坊17 小时前
[硬件电路-124]:模拟电路 - 信号处理电路 - 测量系统的前端电路详解
前端·嵌入式硬件·fpga开发·架构·信号处理·电路