由于我当时调试的时候,没有多余的板子来做CAN对端。在单端CAN调试发送信息时遇到过下面几种问题:
1. CAN_ESR=0x03(ACK错误)
2. CAN_ESR=0x04(隐性位错误)
3. CAN_ESR=0x05(显性位错误)
后来使用回环测试,进行自发自收,排除程序本身的问题。回环测试的方法有两种,一种是你在配置CAN的时候,把模式改成Loopbcak,另一种把板子上CAN的tx rx脚连上。(我选择的后者)
============================我是分割线==================================
关于ZLG示波器抓不到CAN波形,而TEK示波器可以抓到的问题
(这个问题是客户那边反馈的)
原因是ZLG探头的容值和TEK的容值不同
ZLG探头的1x档电容值是105pF,10x档电容是16pF。当时抓不到波形选择的探头档位是1x。后来换到10x档就抓到了。
TEK的探头容值是3.9pF
看到网上有说如果测量高速信号,必选x10档