发表于:2004-03-16 09:36:00
1楼
RS-485 的通信是用 broadcast 的, 主机发出的 command, 会被每一台从机所接收.
为了能够作出区别, 所以每一台从机都必须有一个 Address, 且 command 中必须指明 Address.
从机收到 command 后应检查其指定的 address, 若是自己的才作出回应, 否则丢弃.
RS-232 与 RS-485 之间, 需要一个信号转换器. 您可以参考 I-7520 232/485 Converter.
http://www.icpdas.com.cn/products/7000/i-7520_c.htm
透过信号转换器, 您发送至 RS-232 上的 command 就能传送到 RS-485 上. 反之, 从 RS-485 来的回应也能转换至 RS-232 上.
轮询, 就是依序向从机询问. 例...
主机问: address=1, data ?
从机1答: address=1, data=n
主机问: address=2, data?
从机2答: address=2, data=m
主机问: address=3, data ?
从机3答: address=3, data=x
...