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。

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

相关推荐
freshman_y26 分钟前
STM32工程模板如何配置
stm32·单片机·嵌入式硬件
v先v关v住v获v取2 小时前
风电机变桨系统8张cad+设计说明书+三维图
科技·单片机·51单片机
如愿小李4 小时前
基于STM32的智能水质监测系统
stm32·单片机·嵌入式硬件
Heartache boy5 小时前
野火STM32_HAL库版课程笔记-TIM通道捕获应用之编码器模式
笔记·stm32·单片机·嵌入式硬件
柔情的菜刀5 小时前
踩坑实录|RK3588 BT1120 输出调试全解(适配GS2972)
嵌入式硬件
Lugas Luo6 小时前
Ascend 310B 定制 SDHCI 主机控制器源码深层次劫持与优化解析
linux·嵌入式硬件
恒森宇电子有限公司7 小时前
芯晞微CSM057 线性充电管理芯片 封装SOT23-6
单片机·嵌入式硬件
蓝凌y8 小时前
51单片机之LCD1602
单片机·嵌入式硬件·51单片机
Lugas Luo8 小时前
Kernel 5.10 针对 eMMC 的 Detect、Power、Add 及深度优化解析
linux·嵌入式硬件
charlie1145141918 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(4)从零构建 STM32 构建系统
linux·开发语言·c++·stm32·单片机·学习·嵌入式