zhang32568 发表于 2026-5-10 18:28:37

CAN发送时间间隔

最近用STC32G128K 做CAN通信。24M   500K,主机和分机一样。发现一个问题。如果发送端CAN连续发送35帧。接收端会丢失很多帧。但是如果主机发送完一帧后加不少于125us的延时。接收端基本不丢包。就是单纯测试。没有其它任何程序。

实际测试发现24M 500K 接收完整35帧需要12.5ms (其中发送延时占125*34=4.25ms)
30M500K接收完整的35帧需要 10ms.
如何能够提高发送速度?我是用官方例程

狂热主宰 发表于 2026-5-11 00:03:15

可能通信距离长
延时得加长

乘风飞扬 发表于 2026-5-11 09:08:16

32G12K系列的CAN模块,发送缓冲区16字节,只能一帧一帧的发送。
接收缓冲区64字节,数据长度8字节的标准帧只能存放5帧,要在接收新帧之前及时将缓冲区内容读取才不会丢帧。

zhang32568 发表于 2026-5-11 19:45:52

狂热主宰 发表于 2026-5-11 00:03
可能通信距离长
延时得加长

测试两个机器在一块。距离不到30厘米

mcu 发表于 2026-7-3 15:43:30

最快多少个字节不丢包?
页: [1]
查看完整版本: CAN发送时间间隔