我们希望用到的CAN波特率有5K、10K、50K、500K、1000K等”。CAN波特率设置不正确将导致CAN无法通信.
如果在CAN总线上产生了错误,则开启仅听模式(在仅听模式中SJA1000不能发送信息也不能产生错误帧),软件会尝试下一个波特率,直到能够正常接收数据,即产生接收中断,此时把波特率设定的值BTR0、BTR1写入到EEPROM,重新设定工作模式到正常模式。下次上电首先读取EEPROM的波特率,如果总线错误再自动检测波特率。
需要特别注意的是,我一开始调试的时候,1M的波特率始终不能锁定,但是其他波特率都正常,发现检测到1M波特率的时候,会产生总线错误中断和接收中断,为什会总线错误呢?答案不在软件上!我使用的是PCA82C250的CAN收发器,在高速模式工作下,要使8脚(Rs)接地,我之前是接了47k电阻到地的,工做在斜率控制模式,取下电阻,直接把8脚接地,问题解决。
- PC官方版
- 安卓官方手机版
- IOS官方手机版