打印

关于RS485通讯问题的讨论

[复制链接]
2595|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号机的从机的拨码?

使用特权

评论回复
5
BitFu| | 2010-1-25 16:30 | 只看该作者
呵呵,你的意思大概是:
位置和从机编号不是一个死对应关系
主机除了知道从机地址还要知道从机摆放位置
你这不是485的问题,是位置检测的问题。

使用特权

评论回复
6
冷漠| | 2010-1-25 19:59 | 只看该作者
本帖最后由 冷漠 于 2010-1-26 08:36 编辑

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

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

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

再有更简单的,把网络接成环形拓扑,主站一次全局FF查询,就能知道各个位置的节点地址了。可惜51单片机做不到。

使用特权

评论回复
7
古道热肠| | 2010-1-25 21:25 | 只看该作者
从机与主机的位置到底近还是远,只能由从机自己报给主机。从机上线可先枚举,类似USB方式,但RS485总线上较难解决。RS485只能由主机不停的广播,看看是否有新的RS485节点加入,无法由设备主动报道。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

15

帖子

1

粉丝