串口RS-232 有时为什么要使用交叉线

 

      在做开发时,我用到两种设备:DE2板和Zigbee开发板。这两种设备的RS232串口接头都是母头的。用串口线(公对母且非交叉的)把电脑与DE2板或者电脑与ZigBee开发板接连后,在PC上打开串口助手,测试到数据的接收与发送都正常,说明所有的设备都完好无损。 

     在得知DE2板与Zigbee开发板的RS232接口都是可用后,我想使这两个设备直接用RS232进行通信。由于两个设备的接头都是母头,所以我就买了一条两头都是公头的串口线连接,无奈实验失败了。刚开始我怀疑是线的质量问题,但用万用表测后,每根线都是通的,什么问题都没有。 

     郁闷了好一会,于是上网查资料,认真研究了RS232的针脚定义,大家也一起来熟悉或复习一下吧。 

     图1是RS232串口接头针脚排列(大家把串口接头的针或孔正对自己,睁大眼睛仔细看看,有没有发现每个针或孔的旁边都标着阿拉伯数字?)。容易发现将公头与母头对接,刚好是1孔对1针,2孔对2针的......

  

图1 DB9 针脚排列

 

表1 RS232接口定义(9芯) 

针脚

定义

符号

1

载波检测

DCD

2

接收数据

RXD

3

发送数据

TXD

4

数据终端准备好

DTR

5

信号地

SG

6

数据准备好

DSR

7

请求发送

RTS

8

清除发送

CTS

9

振铃提示

RI

 

     RS232串口是全双工通信的,接收与发送数据可以同时进行,所以接收和发送有各自的数据线。从表1可以看到,2是接收线,3是发送线。 

     需要注意的是,表1的接口定义是对于PC的RS232接头来说是正确的。也就是说电脑的串口接头的针脚2负责接收数据,那么对于与之相连的设备,针脚2应该负责发送才对啊!!!针脚3同理,这样才能正常进行通信。 

     想到这里,我恍然大悟了!!!DE2板和Zigbee开发板RS232的针脚2都发送数据,3都接收数据,把这两个设备的2连2,3连3怎么可能通信呢!!!这样只要把2和3交叉一样就可以了,难怪交叉串口线这种东东会出现。马上打电话问附近的西部电子有没有公对公的交叉串口线(因为我两个板的RS232接口都是母的),无奈被告知没有。又不想走太远,所以上淘宝网查,发现卖家也挺少的,就算有也不划算,因为邮费都能买两根了。想想刚买的线既然不能用那也不能浪费掉啊,那就对它动动手术吧!!!其实RS232中一般只要接上2、3和5三根线就可以正常工作了。 

      把RS232的外层皮剪开后,里面各种颜色的线露出来了,这里我又犯难了,因为只需要把2、3两根线弄断再对接一下就大功告成了,但我怎么知道9根线中哪根是2哪根是3呢?发现每根线的颜色都是不一样的,难道颜色上面有玄机?立马在网上查了查,嘿嘿,果不其然,以下就是RS232(9芯)信号线颜色规定: 

     A: 1-黑 2-红 3-棕 4-橙 5-黄 6-绿 7-蓝 8-紫 9-白 

     B: 1-黑 2-棕 3-红 4-橙 5-黄 6-绿 7-蓝 8-紫 9-白 

      但是对照以上颜色我剪了红和棕,发现并不是2和3,该死的商家啊~~~结果我把8根线都剪了,才找到2和3。

 

 

个人心得,自创博文,有不当之处欢迎指正!

posted @ 2011-08-30 11:06  枫部落  阅读(15929)  评论(5编辑  收藏  举报
点击这里给我发消息