关于RS485通讯问题的讨论

[复制链接]
3453|6
 楼主| zousong 发表于 2010-1-25 13:49 | 显示全部楼层 |阅读模式
最近在做一个单片机RS485通讯的一个项目,遇到个难题,想请教各位高手:
因各从机的位置是随机的,也即是说,不能采用拨码的方式为其设定地址,主机应该采用何种方式为从机顺序编址呢?(挂靠在离主机最近的从机地址始终为1、其它从机按顺序向下编址)
 楼主| zousong 发表于 2010-1-25 15:13 | 显示全部楼层
有没有哪位做过的高手给个思路啊,谢谢!
fover 发表于 2010-1-25 15:29 | 显示全部楼层
在从机上加个拨码开关,通讯的时候把这个拨码号也发过去
然后就可以随便定义从机的编号了
 楼主| zousong 发表于 2010-1-25 15:34 | 显示全部楼层
3楼的方式行不通啊,从机的位置是随机放的,如何得知要设为1号机的从机的拨码?
BitFu 发表于 2010-1-25 16:30 | 显示全部楼层
呵呵,你的意思大概是:
位置和从机编号不是一个死对应关系
主机除了知道从机地址还要知道从机摆放位置
你这不是485的问题,是位置检测的问题。
冷漠 发表于 2010-1-25 19:59 | 显示全部楼层
本帖最后由 冷漠 于 2010-1-26 08:36 编辑

这还不好办?先接入离主机最近的那个节点主从访问一下其ID地址,记录在转换表上,再单独接入2号位置的节点,主站扫描一下其ID地址,......这样就能得到转换表了。

高兴的话,把这样扫描得到的实际ID地址节点放到相应实际物理位置也行。例如:1号节点放在离主站最近的位置,.2号.....

唉,本来固化程序时应做好标记的。

再有更简单的,把网络接成环形拓扑,主站一次全局FF查询,就能知道各个位置的节点地址了。可惜51单片机做不到。
古道热肠 发表于 2010-1-25 21:25 | 显示全部楼层
从机与主机的位置到底近还是远,只能由从机自己报给主机。从机上线可先枚举,类似USB方式,但RS485总线上较难解决。RS485只能由主机不停的广播,看看是否有新的RS485节点加入,无法由设备主动报道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

15

帖子

1

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