[CAN-bus/DeviceNet] 我对CAN接收中断的理解

[复制链接]
3676|3
 楼主| lotto023 发表于 2007-5-28 16:46 | 显示全部楼层 |阅读模式
比如有两个节点通过CAN总线连接起来,其中一个节点发送报文,发送完以后,<br />另一个节点将符合条件的报文接受到FIFO中,而只要FIFO不为空,并且此前接受中断允许位被置位,<br />则SJA1000的中断寄存器IR的RI被置位,又因为只要SJA1000的中断寄存器的一位被置位,<br />/INT引脚将被置低,所以将SJA1000的/INT引脚连接到MCU的INT0引脚上将产生一个外部中断,然后再在<br />外部中断处理程序中将接受的报文读出来。<br />流程归纳如下:&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />一个接点发送报文&nbsp;→&nbsp;另一个节点一定将符合条件的报文接受到FIFO中<br /><br />→中断寄存器IR的RI一定被置位&nbsp;(此前接受中断允许位被置)→/INT引脚一定被置低<br /><br />→一定产生外部中断&nbsp;<br /><br /><br />我现在遇到的问题是产生不了外部中断,也就是SJA1000的/INT引脚将没被置低,不知道问题可能出在哪些方面,上述理解是否正确,望各位大虾和高手指点啊。多谢,多谢。<br /><br />
lizk1979 发表于 2007-5-29 15:34 | 显示全部楼层

你好

你的问题解决没有!我现在也是这种情况 ,郁闷的很!
桂电飞天鼠 发表于 2007-5-29 19:43 | 显示全部楼层

rt

to&nbsp;lotto023:<br />按我的理解是中断流程就是这样,为什么不能中断,我当初刚开始时也遇到过,你重点检查以下几方面(如果自测试正常,初始化也正常的话)<br />1,检查一下波特率。波特率没有计算对的话是不能够正常工作的,两个节点都不会正常工作。<br />2,检查滤波的设置。先设为0xff,全通。<br /><br />还有注意的是,读中断寄存器,只为第一次有效,因为读完之后中断寄存器就会复位了。<br /><br />to&nbsp;lizk1979:<br />看到你问了N次同样的问题了,你都没有把问题说清楚,这样问是没用的。而且我觉得,你一定是没看足够多的资料,就在这个子论坛上都有很多帖子已经可以帮助解决不少问题,还有例子。如果你能把这些都认真研究过,相信不会这样问问题。<br /><br />祝两位朋友顺利解决~<br /><br />最近比较忙,消失一周~
 楼主| lotto023 发表于 2007-5-29 19:58 | 显示全部楼层

我也没解决啊

我也没解决啊,我现在发现SJA1000的发送中断也产生不了,我怀疑是硬件问题,但是我还是无从下手,求助也没人管,惨啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

17

帖子

0

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