我原来写了个类来实现rs485的通讯
现在需要一个通过rs232串口通讯的新程序
我是否可以直接使用以前那个支持rs485通讯的模块?
还是什么地方需要作相应的修改?
谢谢
现在需要一个通过rs232串口通讯的新程序
我是否可以直接使用以前那个支持rs485通讯的模块?
还是什么地方需要作相应的修改?
谢谢
解决方案 »
- 各位大哥帮帮忙,CListCtrl控件上面自定义右键菜单!!!
- 如何提取qq好友信息
- 错误修改:left of '->imageData' must point to class/struct/union
- vc中如何导入.h和.lib?
- vc(MFC)如何使程序能够重启自身?
- SDK中 ListView_SortItems使用问题!
- 如何判断字符串是否已显示完全,即有没有显示省略号,列表框。
- 把IE里的一个url超链接拖到自己窗口里,如何知道这个赵链接的url?
- listctrl的sortitems()排序问题
- 请问这是什么控件?
- 用过FrameGrabber类的请进
- GetEditCtrl是怎样得到CEdit的?
答: 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式.由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用.在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯.RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口.它是在1970年由美国电子工业协会(EIA)联合贝尔系统、MODEM厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25 个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定.一般只使用3-9条引线. (1)接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系.即:逻辑"1",-5- -15V;逻辑"0" +5- +15V .噪声容限为2V.即要求接收器能识别低至+3V的信号作为逻辑"0",高到-3V的信号作为逻辑"1" (2)接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即"发送数据"、"接收数据"和"信号地".所以采用DB -9的9芯插头座,传输线采用屏蔽双绞线.并行口与串行口的区别是交换信息的方式不同,并行口能同时通过8条数据线传输信息,一次传输一个字节;而串行口只能用1条线传输一位数据,每次传输一个字节的一位.并行口由于同时传输更多的信息,速度明显高于串行口,但串行口可以用于比并行口更远距离的数据传输. 1、25针并行口插口的针脚功能:针脚 功 能 针脚 功 能
1 选通 (STROBE低电平) 10 10 确认 (ACKNLG低电平)
2 数据位0 (DATAO) 11 忙 (BUSY)
3 数据位1 (DATA1) 12 缺纸 (PE)
4 数据位2 (DATA2) 13 选择 (SLCT)
5 数据位3 (DATA3) 14 自动换行 (AUTOFEED低电平)
6 数据位4 (DATA4) 15 错误观点(ERROR低电平)
7 数据位5 (DATA5) 16 初始化成(INIT低电平)
8 数据位6 (DATA6) 17 选择输入 (SLCTIN低电平)
9 数据位7 (DATA7) 18-25 地线路(GND) 2.串行口的典型代表是RS-232C及其兼容插口,有9针和25针两类.25针串行口具有20mA电流环接口功能,用9、11、18、25针来实现.其针脚功能如下:25针串行口的针脚功能:针脚 功 能 针脚 功 能
1 未用 11 数据发送(一)
2 发出数据(TXD) 12-17 未用
3 接受数据(RXD) 18 数据接收(+)
4 请求发送(RTS) 19 未用
5 清除发送(CTS) 20 数据终端准备好比(DTR)
6 数据准备好(DSR) 21 未用
7 信号地线路 (SG) 22 振铃指示 (RI)
8 载波检测 (DCD) 23-24 未用
9 发送返回(+) 25 接收返回(一)
10 未用9针串行口的针脚功能:针脚 功 能 针脚 功 能
1 载波检测(DCD) 6 数据准备好(DSR)
2 接受数据(RXD) 7 请求发送(RTS)
3 发出数据(TXD) 8 清除发送(CTS)
4 数据终端准备好(DTR) 9 振铃指示(RI)
5 信号地线(SG) (3)传输电缆长度由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,其中1号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG组成,其外覆以屏蔽网.2号电缆为不带屏蔽的电缆.型号为DECP.NO.9105856-04是22#AWG的四芯电缆. 2、 什么是RS-485接口?它比RS-232-C接口相比有何特点? 答:由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:
(1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接.
(2) 传输速率较低,在异步传输时,波特率为20Kbps.
(3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱.
(4) 传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右.
1. RS-485的电气特性:逻辑"1"以两线间的电压差为+(2-6) V表示;逻辑"0"以两线间的电压差为-(2-6)V表示.接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL电路连接.
2. RS-485的数据最高传输速率为10Mbps
3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好.
4. RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器, 即单站能力.而RS-485接口在总线上是允许连接多达128个收发器.即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络. 因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口. 因为RS-485接口组成的半双工网络,一般只需二根连线,所以RS-485接口均采用屏蔽双绞线传输.RS-485接口连接器采用DB-9的9芯插头座,与智能终端RS-485接口采用DB-9(孔),与键盘连接的键盘接口RS-485采用DB-9(针) 3、 采用RS-485接口时,传输电缆的长度如何考虑? 答:在使用RS-485接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制.当数据信号速率降低到90Kbit/S以下时,假定最大允许的信号损失为6dBV时,则电缆长度被限制在1200M.实际上, 在实用时是完全可以取得比它大的电缆长度.当使用不同线径的电缆.则取得的最大电缆长度是不相同的.例如:当数据信号速率为600Kbit/S时,采用24AWG电缆,计算可知最大电缆长度是200m,若采用19AWG电缆(线径为0.91mm)则电缆长度将可以大于200m; 若采用28AWG电缆(线径为0.32mm)则电缆长度只能小于200m. 4、如何实现RS-485/422多点通讯 答:RS-485总线上任何时候只能有一发送器发送.半双工方式,主从只能一个发.全双工方式主站总可发送,从站只能有一个发送.(靠RE非和DE控制)需要把rs-232信号转换成电脑可以识别的rs-485信号。