C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 3626|回复: 0

[原理资料] 串口RS-232 有时为什么要使用交叉线 [复制链接]

军衔等级:

亚星游戏官网-yaxin222  下士

注册:2015-10-23
发表于 2016-3-17 14:18:20 |显示全部楼层
本帖最后由 贾继鹏 于 2016-3-17 14:22 编辑

  在做开发时,我用到两种设备:DE2板和Zigbee开发板。这两种设备的RS232串口接头都是母头的。用串口线(公对母且非交叉的)把电脑与DE2板或者电脑与ZigBee开发板接连后,在PC上打开串口助手,测试到数据的接收与发送都正常,说明所有的设备都完好无损。
  在得知DE2板与Zigbee开发板的RS232接口都是可用后,我想使这两个设备直接用RS232进行通信。由于两个设备的接头都是母头,所以我就买了一条两头都是公头的串口线连接,无奈实验失败了。刚开始我怀疑是线的质量问题,但用万用表测后,每根线都是通的,什么问题都没有。
  郁闷了好一会,于是上网查资料,认真研究了RS232的针脚定义,大家也一起来熟悉或复习一下吧。
  图1是RS232串口接头针脚排列(大家把串口接头的针或孔正对自己,睁大眼睛仔细看看,有没有发现每个针或孔的旁边都标着阿拉伯数字?)。容易发现将公头与母头对接,刚好是1孔对1针,2孔对2针的......
  
亚星游戏官网-yaxin222
图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。


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

提示:问题的解决可以利用万用表测电阻即可(拿个万能电表,测试一下电阻,就知道哪根是哪根了。)。

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-11-15 13:56 , Processed in 0.230833 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图