HI Renton:
现象是这样的。同样的代码在两块板子上做实验,A板CAN收发正常,B板CAN收发不正常。通过对B板CAN寄存器的观察发现,在发送的时候DCAN的ERRSTAT寄存器的值为0x000000E5;ERRCNT寄存器的值为0x000000F8。请问是什么地方出了问题?谢谢~~~
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi Wei,
请参考TRM中对ERRSTAT寄存器的说明:
[LEC = 5]
Bit0 Error: During the transmission of a message (or acknowledge
bit, or active error flag, or overload flag), the device wanted to send
a dominant level (logical value ‘0’), but the monitored bus level was
recessive. During Bus-Off recovery, this status is set each time a
sequence of 11 recessive bits has been monitored. This enables the
CPU to monitor the proceeding of the Bus-Off recovery sequence
(indicating the bus is not stuck at dominant or continuously disturbed).
[EPass, Ewarn, Boff 都为1]
说明B板的CAN模块由于连续96次以上的被动错误而进入了Error Passive状态,并且DCAN模块进入了Bus off状态。
请检查B板的CAN bus信号,是否被外部电路始终控制在显性电平?
或者B板所处的总线是否始终被某个节点以高优先级ID占据?