日期:2014-05-18  浏览次数:21325 次

RS485 和 RS232 在串口通讯编程上有什么区别?因为485是一对多,那么主机怎么与指定的设备通讯呢?
我以前写过RS232通讯,对RS232串口通讯的流程比较了解,但最近公司的项目变成了RS485通讯,我想问一下各位大侠,RS485通讯与RS232通讯在程序代码上有什么区别。
  1,我在网上查了一下,都说RS232与RS485在代码上没有任何区别,这是我不能够理解的,因为RS232是一对一通讯,只要把COM口打开,只须接收数据就行了。
  但是RS485,它是一对多通讯,我把COM口打开,接收到的数据,我怎么知道这个数据是哪台设备发过来的呢,而且我要向指定的设备发数据又怎么实现呢。 
  我想,至少485通讯的时候,每次数据的收发,要把设备号带上吧, 要不然怎么识别那么多的从设备呢??


求解,最好是有源代码,因为用代码讲解是最清楚的,如果有485通讯的源程序更好,我的开发语言是C#。 谢谢大家了,分不多,是个意思。呵呵。

------解决方案--------------------
一个485上多个设备,设备用地址区分,发命令的时候就根据地址去识别噻,发给谁谁就响应,数据发回也有地址的
------解决方案--------------------
帮顶,一般都在用RS232,485的还真没用过,关注一下。
------解决方案--------------------
我这用的时候也是和232一样,就是在数据中 前面加了485设备地址,
如发数据abc给地址01010101的设备,串口数据就是ff f8 01010101 0003 abc ,ff f8是标志头,0003是数据长度
如发数据ok给地址01010102的设备,数据就是ff f8 01010102 0002 ok 

------解决方案--------------------
探讨

我再问一下,485设备地址是怎么确定的呢? 是自己随意确定的,还是有什么规律,还是设备出厂时就已经有了?

------解决方案--------------------
探讨

一个485上多个设备,设备用地址区分,发命令的时候就根据地址去识别噻,发给谁谁就响应,数据发回也有地址的

------解决方案--------------------
探讨

设备的地址如何设定呢??

是用命令吗? 是什么命令?请大侠回复一下啊,谢谢。