Board logo

标题: CAN中断接受流程理解???[讨论] [打印本页]

作者: lanncyxjj    时间: 2007-7-18 17:29     标题: CAN中断接受流程理解???[讨论]

我理解的CAN中断接收过程是:
先进入中断接受函数(CAN1_InterruptRx),通过了所谓的硬件过滤了,从后台复制到前台,然后CPU会去读寄存器(就是执行读函数CAN1_ReadFrame),并且将数据存放在RAM。但是,中断里面有个清除RXF标志的操作,表明已经读取完毕了,要清空缓存,让新的数据进来。那这样不就是和先进入中断接受函数,再去执行读的操作矛盾了么???
中断的最后是清楚标志,而我的理解是中断以后才去读数据,说明书上写得很清楚是RXF清零以后不能再读,防止数据不完整……
还在困惑中…………
作者: lanncyxjj    时间: 2007-7-19 16:49

米有人进来说说么??

点名叫stongchen回答。

请版主啦!!

[此贴子已经被作者于2007-7-19 16:49:28编辑过]


作者: strongchen    时间: 2007-7-20 16:21

RXF标志是当CAN模块成功地接收到一个新的Message,并放入接收缓存后产生的标志。用于通知CPU有新的Message产生。用户读取新的Message后,必须手动将RXF标志清零。MSCAN模块接收新的Message与RXF标志无关。相反,如果RXF标志还未置1时CPU就去读接收缓存,可能读到的是不完整的数据。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0