STM32
直播中

康大争

7年用户 2155经验值
私信 关注
[问答]

STM32L471 CAN通信中TEC计数器到了250逼近255,为什么CAN_ESR寄存器全部清空了呢?

测试环境:多个CAN节点连接在CAN总线上,A设备向B设备发起数据传输,B会根据A的数据进行响应。期间没有其他节点发送数据帧。

LOG说明:
[CAN-1-rx-tx-lx-fx]表示A设备发送的数据(其中的x表示任意数值)
[CRNR]表示A设备接收到的CAN总线上的数据
eg:
[CANR-1-r0-t27-l0-f0] 表示: r0 表示REC错误计数器为0, t27表示TEC错误计数器为27, l0表示LEC为0,f0表示
BOFFEPVFEWGF
这三个bit的数值 为0

回帖(1)

骆其节

2024-4-2 14:43:03
当节点的发送错误计数器TEC大于255时节点会进入离线状态。当离线节点再次回到主动错误状态时,TEC/LEC会被清零。这些都是CAN协议约定的,你可以看看CAN协议相关内容。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分