[CAN-bus/DeviceNet] can接收多消息

[复制链接]
3254|6
 楼主| clj368 发表于 2011-4-8 00:59 | 显示全部楼层 |阅读模式
本帖最后由 clj368 于 2011-4-8 09:02 编辑

我用的是c8051f040,主控单元每隔100ms向地址板发一条查询指令,地址板接收到以后,返回4个消息,我测试时经常有一条消息接收不到,不知道为什么,是不是地址板接收与发送冲突了,请高手帮忙解答,十分感谢!
lnskngdc 发表于 2011-4-10 09:45 | 显示全部楼层
返回的4个报文没有发送完成就被覆盖了,估计波特率不是很高吧?
建议在每个回复报文后加上5ms延时或者查询总线空闲再发送。
stycx 发表于 2011-4-10 23:33 | 显示全部楼层
多数是第几条没收到?
 楼主| clj368 发表于 2011-4-11 09:02 | 显示全部楼层
3# stycx
发送四条消息时,经常有一条收不到,还经常是同一条
 楼主| clj368 发表于 2011-4-11 09:05 | 显示全部楼层
2# lnskngdc
波特率1Mbps,我加上延时试试,不知道怎样查询总线是否空闲呢
lnskngdc 发表于 2011-4-11 09:34 | 显示全部楼层
1M有点高了,建议调试的时候用200k或500k,加上短暂延时,基本不会有错.
当总线上有11个连续的隐性位的时候,总线即为空闲.
040好像是有个状态寄存器,读txok位,若为1,发送成功;0为发送未完成或发送失败.
 楼主| clj368 发表于 2011-4-12 15:42 | 显示全部楼层
本帖最后由 clj368 于 2011-4-12 15:44 编辑

6# 非常感谢我延时几ms后,接收正常了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

12

帖子

1

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