CAN通信偶尔出现接收FIFO溢出导致丢帧的问题

[复制链接]
302|3
summer274 发表于 2025-9-1 11:46 | 显示全部楼层 |阅读模式
在项目中遇到了接收FIFO溢出这个问题,经过测试导致溢出的原因似乎是接收数据到FIFO后没有触发中断,导致没能接收数据并清除FIFO因此溢出。测试过程中发现在如果只是接收数据不处理并不会出现FIFO溢出问题(数据的解析处理并没有在中断中,在中断中采用消息队列通信,所以应该不是中断处理时间过长导致的),只要我在应用层调用CAN的发送接口(使用的是GD32F103),通信就会偶尔出现FIFO溢出问题,所以想请问一下,CAN外设的发送接口会对接收或接收中断产生什么影响吗
 楼主| summer274 发表于 2025-9-2 19:45 | 显示全部楼层
原因已查明:有一个线程在不断判断系统参数是否变化进行自动保存,保存操作了片上FLASH,片上flash在写操作期间会关闭所有中断,导致中断无法响应。
Dick Hou 发表于 2025-9-3 08:49 | 显示全部楼层
不错,问题解决会来反馈
dffzh 发表于 2025-9-3 08:52 | 显示全部楼层
找到问题就好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部