本帖最后由 贾继鹏 于 2016-3-17 14:22 编辑
在做开发时,我用到两种设备: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。
个人心得,自创博文,有不当之处欢迎指正!
提示:问题的解决可以利用万用表测电阻即可(拿个万能电表,测试一下电阻,就知道哪根是哪根了。)。
|