硬汉嵌入式论坛

 找回密码
 立即注册
查看: 858|回复: 3
收起左侧

[有问必答] 关于CAN总线有个问题想请教下硬汉老哥

[复制链接]

3

主题

6

回帖

15

积分

新手上路

积分
15
发表于 2022-9-16 09:21:47 | 显示全部楼层 |阅读模式
关于CAN总线有个问题想请教下硬汉老哥
就是我现在用的是一个主机来控制3个从机。程序流程是主机发送一个广播消息,3个从机接收到消息后执行相关功能,执行完后 3个从机分别给主机发送一个消息证明已经执行完了,然后主机接收完这3个消息后再发一个广播消息,让3个从机继续执行,就这样一直循环。现在的问题是 我把接收消息的程序放到了定时器中断里,10ms读取一次,发现有时候从机就停止执行功能了,我用串口打印的方式查找错误发现是主机这边有时候会接收不到个别从机的数据,但是从机是发送正常的。所以应该是3个从机发送的数据冲突了,导致主机漏掉了数据。我目前的解决办法是让主机接收到哪个从机的数据后就给那个从机发送消息说不用发送了。现实情况是之前的从机偶尔停止情况改善很多,但是还是有,我实在没有办法了,想来求助下大家

这是主机

这是主机

这是主机

这是主机

这是主机

这是主机
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2022-9-16 09:22:21 | 显示全部楼层
这是从机。。。。。
5.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106908
QQ
发表于 2022-9-17 00:59:11 | 显示全部楼层
接收消息放在定时器中断不合理,本身CAN就有自己的接收中断,然后CAN同时发没关系,他可以仲裁的。

然后就是用单播模式更简单可靠些,适合你,方便排查问题。
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2022-9-17 10:50:14 | 显示全部楼层
eric2013 发表于 2022-9-17 00:59
接收消息放在定时器中断不合理,本身CAN就有自己的接收中断,然后CAN同时发没关系,他可以仲裁的。

然后 ...

感谢硬汉哥的指点,因为这个数据会频繁发送,我怕频繁进入中断造成主程序出问题,就放到了定时器中断里接收。频繁进入CAN中断对主程序影响大不大呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-9 14:58 , Processed in 0.261935 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表