[开发工具] 用CAN做节点通信,多个中断怎么统一处理?

[复制链接]
811|12
 楼主| 万图 发表于 2025-4-10 07:23 | 显示全部楼层 |阅读模式
数据同步靠轮询太卡,中断又怕冲突,有没有折中方案?
Clyde011 发表于 2025-4-10 07:28 | 显示全部楼层
有条件可以加硬件网关,省心。
公羊子丹 发表于 2025-4-10 07:29 | 显示全部楼层
我用环形缓冲队列解决了丢包问题。
周半梅 发表于 2025-4-10 07:30 | 显示全部楼层
中断别全放一个函数里,拆分更好管。
帛灿灿 发表于 2025-4-10 07:31 | 显示全部楼层
建议用双FIFO处理接收,省事。
童雨竹 发表于 2025-4-10 07:32 | 显示全部楼层
CAN中断优先级建议高一点。
 楼主| 万图 发表于 2025-4-10 07:32 | 显示全部楼层
定时轮询+中断结合可能更稳。
Wordsworth 发表于 2025-4-10 07:33 | 显示全部楼层
加个状态机分流中断也能搞定。
Bblythe 发表于 2025-4-10 07:35 | 显示全部楼层
ST库里的回调函数处理得不太细。
Pulitzer 发表于 2025-4-10 07:36 | 显示全部楼层
如果是CAN FD,中断量会更多。
Uriah 发表于 2025-4-10 07:37 | 显示全部楼层
接收滤波器配好也能少很多干扰。
eydj2008 发表于 2025-4-10 08:49 | 显示全部楼层
应用层协议还是有很大关系,我的处理方式 就是用中断压入队列,如果没有收到回应,那个终端就会发多少次后才不发。 有回应了就不再发。
主要还是担心任务没有取到要的数据信号。
515192147 发表于 2025-4-10 17:21 | 显示全部楼层
ID小的先发送,别的FIFO堆里等待 下次 总线 没有数据再发
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

6541

帖子

1

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