当前位置: 代码迷 >> 驱动开发 >> 哪位遇到过can的MERRF的异常
  详细解决方案

哪位遇到过can的MERRF的异常

热度:48   发布时间:2016-04-28 11:04:15.0
哪位遇到过can的MERRF的错误
想知道这个错误是怎么引起的呢?

------解决方案--------------------
中断方式下,主程序必须在中断控制报文接收之前使能CAN的接受中断和微控制器的全局中断。

当报文发送完之后会产生一个中断通知来接收报文。

首先应该看一下中断标志类型,如果是报文成功发送产生的中断,将报文读入滤波器中,否则产生报文出错标志,CANINTF.MERRF位被置1.

将接收到报文的标示符字段与滤波寄存器中的值进行比较,如果两者匹配,将该报文载入相应的接受缓冲器,否则产生一个无效报文。如果缓冲器慢将会产生溢出错误,EFLG.RXOOVER位置1.报文接受成功且处理完毕后,MCU将清除中断标志,返回主程序以接受下一条报文
  相关解决方案