置源薯迅模式下,才能对器件进行初始化。在上电或复位时,
器件会自动手拆进入配置模式,或通过CANTRL.REQOP 位
设置成“100”也可使器件从任何模式进入配置模式。
当进入配置模式时,所有错误计数器都被清零。只有在
配置模式下,才能对以雹此下寄存器进行修改:
• CNF1、CNF2 和CNF3
• TXRTSCTRL
• 验收过滤寄存器
• 验收屏蔽寄存器
参见《MCP2515_datasheet_cn.pdf》
最简单的办法就是处理错误中断,在出现错误后重置唯历滑mcp2515芯片。经过观察,发现出现只能发送不能接收的情况是由于没有调用中断服务造成的,而在整个驱动中并没有其它地方会异常释放中断,所以断定为mcp2515本身没有发出中断,发现在CANINTF中断标志位寄存器中有两个错误中断标志位,其它五个为正常情况下烂段的中断标志位,驱动中并没有对错误中断进行处理,造成的结果是总线中发生错误后,错误中断没有处理,CANINTF中的错误标志位始终没有被清除,造成其它中断被堵塞,因此无法接收数据。
而长时间动行后指腊,错误中断计数器达到一定值后,总线就被关闭,所以会出现收发都不正常的情况。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)