STM32 CAN无输出

使用STM32CubeIDE,STM34F407VGT6,做CAN开发,按照网上的步骤,CAN总是无输出。楼主参考了很多文章,如下:

【STM32CubeMX】STM32F407配置CAN1通信调制OBD_stm32cubemx can_米杰的声音的博客-CSDN博客

(总结)STM32CubeIDE_HAL库_STM32F103C8T6_CAN总线_中断接收_can模块的主函数中。所有回调函数的实现都和在_斌斌小少ZL的博客-CSDN博客

STM32CubeIDE开发(二十六), STM32的CAN总线开发要点_stm32can总线_py_free-物联智能的博客-CSDN博客

CAN总线学习笔记 | STM32CubeMX配置CAN环回测试_can回环测试_安迪西的博客-CSDN博客

总体步骤,大家大同小异,但是CAN总是通讯失败,并且通过示波器可以观察到一个奇怪的波形。

从波形来看, 周期性的发送是出发了,但是这个波形明显是一个异常波形。搜索资料,发现并无类似文章,看来这只是我的个人问题。经过一天调试,发现问题所在。

 

如上图,为了得到500KHz的波特率,楼主配置为:36MHz/(24*(1+1+1))=500KHz,看起来没什么问题,当时输出总是上面那个波形。后来把参数改为:36MHz/(6*(5+6+1))=500KHz,一切都正常了,问题得到解决。

 问题追踪

在STM32编程手册,并没有BS1和BS2的特殊说明,按文档,这两个参数可以取值1~16。

后来找到一片文章,说BS1+BS2+1的取值应在8~25之间。因为已花费较多时间,不再深究,写篇笔记,记录并帮助有可能遇到此问题的有缘人。

Cubemx中CAN1配置_cubemx配置can_Danny787的博客-CSDN博客

 

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值