请教485多机通讯的一个问题!急... 点击:3280 | 回复:15



三三

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 2回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月19日
发表于:2003-05-29 16:33:00
楼主
小弟是个初学者,我了解到485是支持双向通讯的,但我如果从从机向主机通信时不会有冲突吗?能解决吗?原理是什么? 谢谢,谢谢,谢谢.........



zab76

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 24回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2001年6月11日
发表于:2003-03-24 10:25:00
1楼
用命令-应答模式就可以了。

三三

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 2回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2003年3月19日
发表于:2003-03-24 22:17:00
2楼
我还是有点不理解,如果我是多个从机同时向主机发送信息也行吗? 能不能讲的具体点 谢谢您了! 三三 2003-3-24

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-25 09:30:00
3楼
主机问 从机答

eddydong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2003年3月26日
发表于:2003-03-26 12:33:00
4楼
当然可以喽,不过要设置好站号,以防止冲突。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-04-14 16:10:00
5楼
“同时”是不可以的!

仪表新兵

  • 精华:1帖
  • 求助:0帖
  • 帖子:38帖 | 387回
  • 年度积分:0
  • 历史总积分:508
  • 注册:2003年4月14日
发表于:2003-04-16 09:27:00
6楼
RS485仅仅是个电气标准,你的问题是由在其上跑的协议定的。使用485标准的协议很多,速率从300bps到10M bps都有,主从方式和对等方式都有。要说清你的问题,你要告诉大家你的协议是什么?

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-04-22 00:26:00
7楼
“串口通讯专家”: RS485就两根线,信号通过两线的电平差来检测,同一时间只能传送一路信号,只可进行半双工通讯,如何能实现全双工???

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2003-04-22 09:43:00
8楼
4 线式 RS-485 支持全双工, 2 线式 RS-485 支持半双工. 在多机通讯时, 您需避开多机同时送出信息, 别让信息互相打架. 建议您使用 2 线式 RS-485 (半双工), 由主机送出查询的命令, 再由从机回应信息. 当然从机的位置需定义正确. ( 问 addr-1, 由 addr-1 的从机回应; 问 addr-2, 由 addr-2 的从机回应; .... )

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-04-22 19:00:00
9楼
RS-422 是 Full duplex mode, 它的通讯方式为Point-to-Point. RS-485 (2-Wire) half duplex mode, 它的通讯方式应该大家都知道了. RS-485 (4-Wire) Full duplex mode, 它虽是全双工,却不同于RS-422 只能支持Point-to-Point, 它同RS-485 (2-Wire) 一样能串接多个derives. 也因为是全双工模式,所以通讯方式不同于2-Wire式, 它必需针对某一个device 做传送或接收的动作,而在动作的同时,其它的device 必需是close 的,这样讯号才不至于有冲突.

luochaozhi911

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2003年4月25日
发表于:2003-05-01 14:38:00
10楼
你说的只是一种协议的问题,他们可以同时发信息给主机。主机需要从里面先挑一个优先级高的即可

琳琳

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2003年5月28日
发表于:2003-05-28 16:55:00
11楼
GaryLin 在多机通讯时, 怎么样才可以避开多机同时送出信息, 不让信息互相打架.?? luochaozhi911 主机怎么知道那个优先级高,还有优先机怎么设置??

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2003-05-29 10:51:00
12楼
对於多机通讯的协议, 小弟无法给您更多的建议. 或许可以参考 Ethernet 的 Talken-Ring 或 信息碰撞检测 方式. 不过, 实作起来, 恐怕会很累人的. 若是可以的话, 还是比较建议您使用简单好用的一问一答方式.

琳琳

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 3回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2003年5月28日
发表于:2003-05-29 16:33:00
13楼
GaryLin:你所说的一问一答也就是主从方式了。。。 可是主从方式对我系统不太好。。 因为我的主机(也就是计算机)只管主动收,而不主动发,而从机(单片机)却相反,主动发。。 这样就会有一个信息打架的问题。。。 我不知道怎么才可以让信息不打架。。 现在我想这样做:就是单片机在发送数据前判断总线是否有数据在传输。。如果没有就发送,可是不知道应该怎么来判断!! 或者在发送前先收数据,如果收不到就发送数据,这个可以做。。 我不知道这样做是否正确??? 如果实在不没办法我也只能用主从方式??

九月森林

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年5月22日
发表于:2009-05-22 13:57:03
14楼

关注一下,我也遇到类似的问题!

FDD1997

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 935回
  • 年度积分:0
  • 历史总积分:1082
  • 注册:2008年12月20日
发表于:2009-05-26 15:15:44
15楼

学习中

 

 

 

 


热门招聘
相关主题

官方公众号

智造工程师