lpc1700 发送终止总死机

[复制链接]
1431|5
 楼主| dxfshsh 发表于 2014-12-22 10:45 | 显示全部楼层 |阅读模式
我使用 LPC_CAN1->CMR=0x21 发送报文后,马上再用 LPC_CAN1->CMR=0x22终止发送,总会造成死机,一直找不到原因,请大侠指点。谢谢!!!
sjnh 发表于 2014-12-22 11:35 | 显示全部楼层
你查一下CAN中断都开了那些,是不是这样操作触发了其它的中断标示而你又开了中断没有处理;
 楼主| dxfshsh 发表于 2014-12-22 20:49 | 显示全部楼层
好像不是中断问题,我只打开了接收中断  LPC_CAN1->IER=0x01,如果当报文发完后,再发 LPC_CAN1->CMR=0x22,终止发送,是不死机的,可也没意义了。我知道一般用终止发送的人不多,我也是偶然发现这里死机的,怀疑是CPU的BUG。
 楼主| dxfshsh 发表于 2014-12-22 20:50 | 显示全部楼层
相亲们,可以试一试,看看死机否。
 楼主| dxfshsh 发表于 2014-12-25 12:32 | 显示全部楼层
进一步测试,发现在发送报文竞争失败后,发送终止LPC_CAN1->CMR=0x22,可以终止报文的发送,且不死机,如果,终止指令发出时间,紧接着报文发送指令,则会死机;由于终止指令是在某紧急事件的中断中产生的,很难控制其与发送报文的相对时间关系,会有出现死机的概率,这可能是lpc1752设计上的缺陷。
 楼主| dxfshsh 发表于 2014-12-25 12:41 | 显示全部楼层
不知到tsm32单片机上,是否有类似问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

160

帖子

0

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