单步调试中,寄存器TSR和ESR值如下:
0: TSR: 0x1C00 0009 //发送请求已执行,但邮箱0发送失败
ESR: 0x0008 0030 //传输错误,错误计数器+8,错误类型:011 == 确认(ACK)错误
1: TSR: 0x1C00 0909 //发送请求已执行,但邮箱1、邮箱0发送失败
ESR: 0x0010 0040 //传输错误,错误计数器+8,错误类型:100 == 位隐性错误
2: TSR: 0x1C00 0909 //发送请求已执行,但邮箱1、邮箱0发送失败
ESR: 0x0018 0040 //传输错误,错误计数器+8,错误类型: 100 == 位隐性错误
3: TSR: 0x1C00 0909
ESR: 0x0020 0040
.
.
.
10:TSR: 0x1C00 0903 //成功发送的一帧
ESR: 0x004F 0000
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1. 常温下正常;(高温也没问题,低温-30°没有问题,过了-30开始出错);
2. CAN收发器外接了CAN调试盒子(型号是:广州致远电子的 USBCAN-II);
3. 测试时波特率是500kbps;
4. 嗯,我当时也是猜想可能是控制器外面的电路的问题,所以做了回环测试。
PS: 谢谢您的回复
一周热门 更多>