swpub 发表于 2024-12-17 08:40

GD32H757,CANFD数据接收,如何用多个邮箱缓冲数据,防止中断来不及处理,数据被覆盖。

GD32H757,CANFD数据接收,如何用多个邮箱缓冲数据,防止中断来不及处理,数据被覆盖。目前看只能用1个邮箱来接收,来不及处理数据会被覆盖。

stormwind123 发表于 2024-12-19 14:33

考虑使用循环缓冲区(Circular Buffer)来存储接收到的消息。

probedog 发表于 2024-12-19 16:26

在中断处理函数中或主程序中,定期监控缓冲区的状态。
如果缓冲区即将满,则及时处理或丢弃旧数据,以防止新数据被覆盖。

classroom 发表于 2024-12-19 20:26

尽量减少中断处理函数中的复杂操作,提高中断处理的效率。
可以考虑将复杂的数据处理操作放在主程序中异步处理。

swpub 发表于 2024-12-20 08:33

stormwind123 发表于 2024-12-19 14:33
考虑使用循环缓冲区(Circular Buffer)来存储接收到的消息。

看文档不支持FIFO,如何缓冲?
页: [1]
查看完整版本: GD32H757,CANFD数据接收,如何用多个邮箱缓冲数据,防止中断来不及处理,数据被覆盖。