现象:
1、CAN模块初始化成CAN_MODE_LOOPBACK模式
CAN模块通过HAL_CAN_AddTxMessage发送数据时,TX管脚能够发出数据,示波器也可以测量到数据波形,CAN使用中断接收HAL_CAN_ActivateNotification或者查询接收HAL_CAN_GetRxMessage都可以接收到正确的数据(和发送的数据一致),但是CAN接口却没有波形数据发出,使用CAN调试器也无法接收到数据。
2、CAN模块初始化成CAN_MODE_NORMAL模式
CAN模块发送和接收都不正常
在接收和发送时都会报错,ESR寄存器的LEC报位显性错误0x5,REC和TEC分别表示接收和发送的错误计数。
3、相同的程序代码在别的控制器(另一款电路板)上测试CAN发送和接收
数据发送和接收都正常
4、确定是硬件故障进行解析
发现CAN芯片的 PIN8管脚的RS没有进行正常的连接,对比元器件手册后,将PIN8管脚飞线连接GND后,CAN模块能够进行正常的收发数据,由于电路复制粘贴时,把PIN8管脚的连接属性丢掉了。
记录下来希望对大家能有帮助。
文章来源地址https://www.toymoban.com/news/detail-657500.html
文章来源:https://www.toymoban.com/news/detail-657500.html
到了这里,关于STM32F407 CAN模块发送接收数据异常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!