[CAN-bus/DeviceNet] 关于接收不同ID的问题 请教

[复制链接]
2846|3
 楼主| xlsbz 发表于 2011-4-19 18:17 | 显示全部楼层 |阅读模式
设备A正在接收一个ID1的时,还没有接收完,设备B另一个ID2号发送过来了,然后设备C又一个ID3发送过来了,然后此时设备A才将ID1接收完。

当然这种情况 特别巧合了

请问要咋办?

比如可以回答下 canopen是咋处理的?
当然其他处理方式也行。
lnskngdc 发表于 2011-4-19 19:49 | 显示全部楼层
不会出现这种情况的,因为CAN总线上只能有一帧报文在传播,ID优先级决定了发送的先后。
楼主的意思是不是ID1的报文没处理完(跟接收不是一个概念),另一帧又收到?
这样的话可以设置一个接收缓冲区。
 楼主| xlsbz 发表于 2011-4-21 22:15 | 显示全部楼层
不会出现这种情况的,因为CAN总线上只能有一帧报文在传播,ID优先级决定了发送的先后。
楼主的意思是不是ID1的报文没处理完(跟接收不是一个概念),另一帧又收到?
这样的话可以设置一个接收缓冲区。 ...
lnskngdc 发表于 2011-4-19 19:49


这样的话 我觉得干脆不要这帧得了  

你说的设置接收缓冲区好像是不太可行。

我的硬件支持FIFO   就是在中断服务程序里面监测到邮箱有数据 然后取出来,然后接着检测(此时还程序还在中断服务里面执行),发现还有数据 然后放到另一个邮箱。

首先出现这种现象概率极小 估计半年不知道能不能发生一次。

然后配置FIFO  比较繁琐  万一配置错了 得不偿失  。
所以.....
lnskngdc 发表于 2011-4-22 09:22 | 显示全部楼层
:lol愿不愿意用是你的事,如果觉得可靠,不用也可以,如果你的cpu比较闲的话当然不用FIFO.
我用的都是比较繁杂的不能打断的任务,FIFO是必须的,当然我是用软件做的FIFO.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

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