[ARM入门] CAN通讯问题

[复制链接]
1382|2
 楼主| hxuetao1989 发表于 2014-1-8 19:33 | 显示全部楼层 |阅读模式
在写一个can通讯程序,芯片是stm32f407z,操作系统是rt-thread,arm接收can总线的数据采用轮询函数,就是定时的调用CAN_Receive()函数,标示符校验正确就回一帧报文,按理来说应该收到一帧发一帧,但是运行中前两次是收一次发一次,第三次开始就会不停的发,相当于每次调用CAN_Receive()函数都发现有数据接收,但总线上其实没发报文,如果总线上发其他报文发三次,则之前接收报文就不在重复回之前的报文了,是不是跟arm的CAN的邮箱深度有关系。。。。
airwill 发表于 2014-1-9 13:53 | 显示全部楼层
好象是进入了错误重发状态了, 好好看看 CAN 控制器的状态
飞言走笔 发表于 2014-1-10 13:42 | 显示全部楼层
看下你的设置,是不是设成了没有收到ACK就重发?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部