嵌入式技术william hill官网
直播中

李勇

7年用户 1310经验值
私信 关注
[问答]

stm32f413 can通信波特率配置求助

各位大佬好,打扰了,最近尝试在 STM32f413vgt6 的板子上使用 can 通信,但发现在正常模式下无法通信,环回模式可以。检查驱动代码后,发现似乎是波特率配置不对,官方驱动是按照 45m 的时钟配置的。但413的时钟是 50m, 可尝试按照 50m,重新计算修改参数后依然无法通信。不清楚什么原因。哪位大佬可以帮忙看看这么改是否正确,谢谢!
50 / ((1 + 6 + 3) * 5) = 1MHz ?
2.jpg
msh 下也可以看到,有明显的异常回馈,似乎波特率确实不对。。。
2.jpg
当前时钟配置:
2.jpg



回帖(2)

王娟

2023-5-5 11:39:02
建议直接测TX的波形来确定时钟和波特率的关系,波特率建议先设低些,这样即使出错翻倍了也还在正常范围内。
举报

李明

2023-5-5 11:39:07
把CAN_SJW_2TQ改为CAN_SJW_1TQ就行了,你的公式是对的,可以看看CAN_SJW这个宏定义,已经加过1了,所以不用再加1
举报

更多回帖

发帖
×
20
完善资料,
赚取积分