热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

如何区分直连串口线和交叉串口线?

串口线也分直通和交叉,直通一般用于延长PC与设备,将2、3、5分别连接2、3、5,因为PC上一般为公头,而设备上多为母头,所以正好它们是通用的,既可用于延长也可用于连接;交叉一般用于PC与PC对接

  串口线也分直通和交叉,直通一般用于延长PC与设备,将2、3、5分别连接2、3、5,因为PC上一般为公头,而设备上多为母头,所以正好它们是通用的,既可用于延长也可用于连接;交叉一般用于PC与PC对接,将2对3、3对2、5对5,一般两头都是母头!

  计算机出现之前,为连接串口设备,EIA 制定了RS232 标准。PC 机出现后,已有的串口设备成为PC机外设,自然采用RS232 标准。目前PC 机的串行通信接口采用EIA-RS-232C 标准,C 代表1969年最新一次的修改。EIA-RS-232C标准对电器特性、逻辑电平和各种信号线功能作了规定。EIA-RS-232C标准用正负电压来表示逻辑状态,在数据信号线上若电压在-3V~-15V之间表示逻辑1,若电压在+3V~+15V之间表示逻辑0;在控制信号线上若电压在-3V ~-15V 之间表示断开状态,若电压在+3V ~+15V之间表示接通状态。介于-3V ~+3V 之间和低于-15V 、高于+15V 的电压无意义。
  而CPU 和终端则采用TTL 电平及正逻辑,TTL 电平用+5V 表示逻辑1,0V 表示逻辑0,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。EIA-RS-232C 标准没有定义连接器的物理特征.因此出现了DB-25、DB-15 和DB-9 各种类型的连接器,PC 机的COM1和COM2串行接口采用DB-9连接器。ELA-RS-232C 标准规定,当误码率小于4%时,允许导线长度15m 。实际应用中,当使用9600b/s、普通双绞屏蔽线时,传输距离可达30m ~35m 。PC 机的COM1和COM2两个串行接口采用的DB-9连接器是公( 针) 头,提供异步通信的 9 个引脚功能。分别为:①脚 (DCD) 数据载波检测,②脚 (RXD)接收数据,③脚(TXD) 发送数据,④脚 (DTR) 数据终端准备,⑤脚 (SG) 信号地,⑥脚 (DSR) 数据设备准备好,⑦脚(RaS)请求发送,⑧脚 (CTS) 清除发送,⑨脚 (RI) 振铃指示。DB-9 公( 针) 头排列顺序如下图左,DB-9母(孔)头排列顺序如下图右,特别注意公头引脚号从坐到右,母头是从右到左EIA-RS-232C 标准中 , 有三个发送信号:TXD 、RTS 和DTR,每根线的典型输出电流为±8mA/±12V 。通常由RTS和DTR供电的话,可提供约192mW 功率。


PC端一般为公头,如图

      结合上述说明,如果不涉及Modem。串口传输数据只要有接收数据端②脚和发送数据端③脚就能实现.应将一个设备的接收数据端与另一设备的发送数据端相连。即接收与发送彼此交叉,信号地对应相接。

问题1:何时用交叉,何时用直连? 
      标准串口引脚2是RX,引脚3是TX,(即九针串口的2号引脚连接的是主控芯片的RXD引脚,3号引脚连接的是主控芯片的TXD引脚),如果单片机开发板的串口和电脑串口都是标准串口,则俩串口应该用交叉线连接。但现实生活中直连线居多(可能是直连线生产起来没交叉线麻烦吧),为了配合直连线的使用,在画板的时候,把主控芯片的RXD引脚连接至串口的3脚,主控芯片的TXD引脚连接至串口的2脚,这样这个开发板上的串口就不是标准串口了,即2变成TX,3变成RX,和标准串口连接时当然应该使用直连线了。看一个开发板上的串口是标准串口还是非标准串口,根本还是要看原理图是怎么连的!

      总的来说:RS232的DB-9接口的连接线包括三种:公对母,公对公,母对母。这三种连接线都分别有交叉线和直连线,所以总共有6中连接方式。

问题2:如何辨别交叉串口线与直连串口线?
      用万用表测一下,如果2和2通,3和3通则为直连串口线;如果2和3通,3和2通则为交叉串口线。
有人困惑母口外面是一块绝缘的橡胶,万用表的探针插不进去怎么测?那就截一小段焊锡丝(我也曾考虑过用金属丝,可是金属丝太细了,我们不能保证它能够跟母口中的金属部分完好接触,焊锡丝粗一点,是可以跟母口内的金属很好地接触的),然后把万用表探针接触焊锡丝来测试即可。
当然了,如果每次拿到一根串口线都要拿个万用表来测测它是直连的还是交叉的岂不是很麻烦,教你一个轻松辨别的好方法,那就是:两头母口是交叉,一公一母是直连。(两头都是公口的串口线好像很少)

注意:强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。


推荐阅读
  • 在并发编程中,`as-if-serial`原则确保了即使编译器和处理器对指令进行重排序,单线程的执行结果也不会受到影响。这一原则要求编译器、运行时环境和处理器必须严格遵守,以保证程序的正确性。本文深入探讨了`volatile`关键字的内存模型,详细分析了其在多线程环境中的可见性和有序性特性,以及如何通过`as-if-serial`规则来确保数据的一致性和可靠性。 ... [详细]
  • 深入解析 ELF 文件格式与静态链接技术
    本文详细探讨了ELF文件格式及其在静态链接过程中的应用。在C/C++代码转化为可执行文件的过程中,需经过预处理、编译、汇编和链接等关键步骤。最终生成的可执行文件不仅包含系统可识别的机器码,还遵循了严格的文件结构规范,以确保其在操作系统中的正确加载和执行。 ... [详细]
  • Java服务问题快速定位与解决策略全面指南 ... [详细]
  • 本文详细解析了 `ulimit` 命令的使用方法及其在实际场景中的应用。`ulimit` 是一个 Shell 内置命令,用于控制 Shell 启动的进程所能使用的系统资源。文章介绍了 `ulimit` 的基本语法格式,包括 `-a`、`-c`、`-d`、`-f`、`-H`、`-l`、`-m`、`-n`、`-p`、`-s`、`-S`、`-t`、`-v` 和 `-w` 等参数的含义和用法。通过具体示例,读者可以更好地理解和应用这些参数,以优化系统性能和资源管理。 ... [详细]
  • 《软件测试精要》深度解析与实战经验分享
    《软件测试精要》深度解析与实战经验分享,系统梳理了软件测试的核心概念与关键原则,结合实际项目中的测试经验和教训,详细探讨了测试分类、测试权衡要素、测试效率、测试覆盖率以及测试框架的引入和用例设计等内容,为读者提供了全面而实用的指导。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 全功能键盘主机:老卫搞机090期深度解析键盘与主机的完美融合
    全功能键盘主机:老卫搞机090期深度解析键盘与主机的完美融合 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 通过对计算机系统架构的研究,尤其是控制器CU的功能解析,我对处理器的工作原理有了更深入的理解。原来,机器指令能够被直接识别和执行,是因为其背后有微程序的支持。深入探讨后发现,最基本的不可分割操作实际上是由微指令组成的,这些微指令构成了机器指令的基础,确保了指令的准确执行。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • 本文深入探讨了数据库性能优化与管理策略,通过实例分析和理论研究,详细阐述了如何有效提升数据库系统的响应速度和处理能力。文章首先介绍了数据库性能优化的基本原则和常用技术,包括索引优化、查询优化和存储管理等。接着,结合实际应用场景,讨论了如何利用容器化技术(如Docker)来部署和管理数据库,以提高系统的可扩展性和稳定性。最后,文章还提供了具体的配置示例和最佳实践,帮助读者在实际工作中更好地应用这些策略。 ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
  • 全面解析Java虚拟机:内存模型深度剖析 ... [详细]
author-avatar
烟灰TT
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有