CH32V203的CAN通信

当我使用 CAN_Mode_Normal,一块板发一块板收,一块板的TX连接另一块的RX、RX连TX。

这样发送失败,也收不到数据。


当我使用CAN_Mode_Normal,仅一块板,TX、RX 连起来,一样,发送失败,数据收不到。


然而,使用 CAN_Mode_LoopBack,却能在同一块板上实现正确的收发。


使用官方的 CAN 例程 Networking,但为了验证同一块板收发,略有改动。


之所以有上面的探索,是因为自己代码无法正常收发数据,用示波器可以看到TX上有波形,但正确与否没验证过。

又试了 CH32V307,一个样……

那么,外部回环应该怎样做?如何验证是芯片/程序的问题还是外部CAN收发器的问题呢?


您好,CAN通信注意要配合CAN收发器使用,不能直接GPIO引脚之间连接。EVT例程一般都是测试过不会有问题的。


整明白了,原来是初始化的时候,.CAN_Prescaler 是不需要减1的。


只有登录才能回复,可以选择微信账号登录