首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

CAN中断接受流程理解???[讨论]

CAN中断接受流程理解???[讨论]

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

米有人进来说说么??

点名叫stongchen回答。

请版主啦!!

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

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