想知道这个错误是怎么引起的呢?
------解决方案--------------------
中断方式下,主程序必须在中断控制报文接收之前使能CAN的接受中断和微控制器的全局中断。
当报文发送完之后会产生一个中断通知来接收报文。
首先应该看一下中断标志类型,如果是报文成功发送产生的中断,将报文读入滤波器中,否则产生报文出错标志,CANINTF.MERRF位被置1.
将接收到报文的标示符字段与滤波寄存器中的值进行比较,如果两者匹配,将该报文载入相应的接受缓冲器,否则产生一个无效报文。如果缓冲器慢将会产生溢出错误,EFLG.RXOOVER位置1.报文接受成功且处理完毕后,MCU将清除中断标志,返回主程序以接受下一条报文