打印
[CAN-bus/DeviceNet]

我对CAN接收中断的理解

[复制链接]
2731|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lotto023|  楼主 | 2007-5-28 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如有两个节点通过CAN总线连接起来,其中一个节点发送报文,发送完以后,
另一个节点将符合条件的报文接受到FIFO中,而只要FIFO不为空,并且此前接受中断允许位被置位,
则SJA1000的中断寄存器IR的RI被置位,又因为只要SJA1000的中断寄存器的一位被置位,
/INT引脚将被置低,所以将SJA1000的/INT引脚连接到MCU的INT0引脚上将产生一个外部中断,然后再在
外部中断处理程序中将接受的报文读出来。
流程归纳如下:  

                                                     
一个接点发送报文 → 另一个节点一定将符合条件的报文接受到FIFO中

→中断寄存器IR的RI一定被置位 (此前接受中断允许位被置)→/INT引脚一定被置低

→一定产生外部中断 


我现在遇到的问题是产生不了外部中断,也就是SJA1000的/INT引脚将没被置低,不知道问题可能出在哪些方面,上述理解是否正确,望各位大虾和高手指点啊。多谢,多谢。

相关帖子

沙发
lizk1979| | 2007-5-29 15:34 | 只看该作者

你好

你的问题解决没有!我现在也是这种情况 ,郁闷的很!

使用特权

评论回复
板凳
桂电飞天鼠| | 2007-5-29 19:43 | 只看该作者

rt

to lotto023:
按我的理解是中断流程就是这样,为什么不能中断,我当初刚开始时也遇到过,你重点检查以下几方面(如果自测试正常,初始化也正常的话)
1,检查一下波特率。波特率没有计算对的话是不能够正常工作的,两个节点都不会正常工作。
2,检查滤波的设置。先设为0xff,全通。

还有注意的是,读中断寄存器,只为第一次有效,因为读完之后中断寄存器就会复位了。

to lizk1979:
看到你问了N次同样的问题了,你都没有把问题说清楚,这样问是没用的。而且我觉得,你一定是没看足够多的资料,就在这个子论坛上都有很多帖子已经可以帮助解决不少问题,还有例子。如果你能把这些都认真研究过,相信不会这样问问题。

祝两位朋友顺利解决~

最近比较忙,消失一周~

使用特权

评论回复
地板
lotto023|  楼主 | 2007-5-29 19:58 | 只看该作者

我也没解决啊

我也没解决啊,我现在发现SJA1000的发送中断也产生不了,我怀疑是硬件问题,但是我还是无从下手,求助也没人管,惨啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

17

帖子

0

粉丝