PC机常用的按照接口数量细分为A型(15针),B型(25针),C型(37针),D型(50针),E型(9针)。其中,串行通信常用的是RS232——9针的DB9接口,显示器用的是VGA——15针的DB15接口。现在的笔记本电脑都已取消这种接口,一方面是因为这种接口比较笨重、逐渐被市场淘汰,另一方面,也有了更好的USB口来完美替代他,而某些需要RS232的场景也可用通过USB转RS232驱动来实现,所以顺其自然的RS232接口也就被淘汰了。 此外,我们电脑打开设备管理器,看到的端口设备(COM1、COM2…)等就是串行通讯端口,简称串口,老款的设备大多是用RS232接口,现在我们使用的鼠标、键盘、打印机等都以使用更高速、方便的USB口了。下面我们进行详细的介绍。
在通信和计算机科学中,Serial communication是一个通用概念,泛指所有的串行的通信协议,如RS232、USB、I2C、SPI、1-Wire、Ethernet等。这里的串行(serial),是相对并行通信(parallel communication)来说的,只将准备发送的一长串0/1电平跳变信号以串行的方式发送出去。
理解了串行通信后,还需要知道一组概念,即同步通信和异步通信,这里只介绍串行的同步和异步通信。
我们所提到的串口通信(UART)便是使用的异步串行通信方式,而我们电脑上所谓的COM口,便是针对串口通信而设计的一种端口。UART更多关注规定编码格式的标准,如波特率(baud rate)、帧格式和波特率误差等等,而将要介绍的RS232、USB、RS485等这类串行通信接口则更多关注的是电平标准和电压。还有一点需要注意的是UART已经包含了TTL电平的串口,也包含了RS232电平的串口。

RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中EIA (Electronic Industry Association)代表美国电子工业协会, 是常用的串行通信接口标准之一。
引脚定义(实际只用到2、3、5三个脚):
| 9芯 | 缩写 | 描述 |
|---|---|---|
| 1 | CD | 载波检测 |
| 2 | RXD | 接收数据 |
| 3 | TXD | 发送数据 |
| 4 | DTR | 数据终端准备好 |
| 5 | GND | 信号地 |
| 6 | DSR | 通信设备准备好 |
| 7 | RTS | 请求发送 |
| 8 | CTS | 允许发送 |
| 9 | RI | 响铃指示器 |
电气特性:
优缺点:
接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
传输速率较低,在异步传输时,波特率为20Kbps;
接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
传输距离有限,且需要双方的RXD和TXD线交叉连接,注定只能进行点对点连接。
针对RS232出现的缺点和不足,新接口RS-485便应运而生,该接口有效的减弱了共模干扰,利用A、B两个信号线进行平衡传输。RS-485同样负责在设备和物理传输介质之间传输原始数据,并没有复杂的协议栈,是一种利用差分传输进行串口通信的半双工接口。它具有以下特点:
引脚定义:
| DB9 | 缩写 | 描述 |
|---|---|---|
| 1 | RS-485(A+) | 非反向信号 |
| 2 | RS-485(B -) | 反向信号 |
| 3 | 空 | - |
| 4 | 空 | - |
| 5 | GND | 信号地 |
电气特性:
优缺点:
TTL(Transistor Transistor Logic)即晶体管-晶体管逻辑,TTL电平信号由TTL器件产生。TTL器件是数字集成电路的一大门类。TTL与RS485、RS232最大的区别便是TTL接口属于并行方式传输数据的接口,而后两者则遵循的是串行通信协议。
接口定义:
TTL输出接口可分为,单路6bit TTL输出接口、双路6bit TTL输出接口、双路8bit TTL输出位接口等等几类,驱动板的TTL输出接口通常包括:RGB数据信号、时钟信号和控制信号这三大类信号。例如单路6bit TTL输出接口,便共有18条RGB数据线,每个基色信号采用6bit数据(R0~R5,G0~G5,B0~B5),由于基色RGB数据为18bit,因此,也称18位或18bit TTL接口。
电气特性:
优缺点:
除了TTL接口外,还有一点极易混淆的是:我们常用的USB转TTL、RS232转TTL指的是将不同接口的电平信号转为TTL电信号,而不是将串行转换为并行,也就是是说转换后仍然是串口通信。
USB的全名为通用串行总线(Universal Serial Bus),它的出现是为了解决计算机系统接口复杂的弊端,因为早期计算机外设接口各不相同,例如键盘的插口为圆形串口,而打印机需要DB9或25的并行接口,鼠标使用的是DB9或25的串行接口,这些接口不仅复杂,每次插拔都需要系统重启来启动驱动,基于此,USB接口横空出世,它的特点就是将所有外设接口都设计为统一规格,而且支持即插即用。
所谓总线(Bus),一般指通过分时复用的方式,将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。是电脑中传输数据的公共通道。
引脚定义:

| 引脚 | 描述 |
|---|---|
| VCC | +5V |
| D+ | 数据线 |
| D- | 数据线 |
| GND | 信号地 |
电气特性:
基本特性:
RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是Registered Jack的缩写,意思是“注册的插座”。
RJ45即我们常说的网口,主要应用于以太网络中,和上述几种接口不属于同一类型,这里不做介绍。
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
电脑上可以截取图片吗?如果可以,该如何操作呢?相信很多小伙伴都只知道一两种截图的方式,知道的并不全面。其实,电脑上有多种方式截图的,而且非常方便。电脑怎么截图?今天我们就来教大家如何使用电脑截取图片的8种常用方式!操作环境:演示机型:Delloptiplex7050系统版本:Windows10方法一:系统自带截图具体操作:同时按下电脑的自带截图键【Windows+shift+S】,可以选择其中一种方式来截取图片:截屏有矩形截屏、任意形状截屏、窗口截屏和全屏截图。 方法二:QQ截图具体操作:在电脑登录QQ,然后同时按下【Ctrl+Alt+A】,可以任意截图你需要的界面,可以把截图的页面直接下载,
一文解决关于VLAN所有的疑惑VLAN基本概念为什么需要VLAN?怎么在交换机上划分VLAN,VLAN的工作原理有了子网,已经隔离了广播,还需要VLAN干啥?只进行子网划分,不进行VLAN划分VLAN划分与子网划分附加VLAN信息的方法VLAN划分交换机的端口类型(Access和Trunk)一、访问链接二、汇聚链接汇聚链接VLAN间通信为什么要进行VLAN间通信?路由器实现VLAN间通信路由器和交换机的连接方式通信细节三层交换机实现VLAN间通信加速VLAN间通信三层交换机与路由器三层交换机路由器路由器和交换机配合构建LAN的实例使用VLAN设计局域网的特点VLAN增加网络的灵活性不使用VLA
1.Scenes游戏场景文件夹用于放置unity的场景文件 2.Plugins插件文件夹用于放置unity的依赖文件,例如dll 3.Scripts脚本文件夹用于放置unity的c#脚本文件 4.Resources游戏资源文件夹用于放置unity的各种游戏资源,比如images,prefabs,同时只有放到Resources文件夹的游戏资源才能使用Resource.load(资源路径不加后缀)加载到游戏内存中进行使用 5.EditorUnity编辑器扩展脚本文件夹usingUnityEditor;这个名称空间就是Unity编辑器的名称空间这个名称空间提供了扩展Unity编辑器的各种类 【你所有
✅作者简介:大家好,我是小杨📃个人主页:「小杨」的csdn博客🔥系列专栏:小杨带你玩转C语言【初阶】🐳希望大家多多支持🥰一起进步呀!大家好呀!我是小杨。小杨花几天的时间将C语言中的操作符这部分知识做了一个大总结,在方便自己复习的同时也能够帮助到大家。通篇字数在一万字左右,可以算作是非常详细了,一文就可以带领大家彻底掌握操作符这部分内容,文章很长建议先收藏再看,防止下次想看就找不到啦。文章目录✍1,算术操作符✍2,移位操作符 🔍2.1,左移操作符 🔍2.2,右移操作符 ✨2.2.1,算术移位 ✨2.2.2,逻辑移位✍3,位操作符 🔍3.1,按位与&
一、获取当前时间1、current_date当前日期(年月日)Examples:SELECTcurrent_date;2、current_timestamp/now()当前日期(时间戳)Examples:SELECTcurrent_timestamp;二、从日期字段中提取时间1、year,month,day/dayofmonth,hour,minute,secondExamples:SELECTyear(now());其他的日期函数以此类推month:1day:12(当月的第几天)dayofmonth:12hour,minute,second:分别对应时分秒2、dayofweek、dayofm
UART串口这个东西,是嵌入式学习上避不开的,不仅在调试中经常用到,还有很多模块通过串口与SOC相连。这篇文章让你彻彻底底,搞明白串口程序的编写。没有基础的先看:嵌入式Linux学习系列全部文章:嵌入式Linux学习—从裸机到应用教程大全 目录1.UART串口1.1UART硬件连接1.2UART软件通信协议2.读手册,编程序2.1找对应引脚2.2设置GPIO为UART功能2.3设置UART(初始化)2.4编写发送接收函数3.完整代码和验证1.UART串口全称:通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter,简称UART)是一种串行异步收发
有人能告诉我有没有办法将异常处理作为一种通用方法并在方法中使用它?让我进一步解释一下。例如我有以下方法defadd(num1,num2)beginnum1+num2rescueException=>eraiseeendenddefdivide(num1,num2)beginnum1/num2rescueException=>eraiseeendend如您所见,尽管我的方法只需要一行,但由于异常处理代码,该方法变得更大了。我正在寻找的是一个更slim的解决方案,比如(只是一个想法)defadd(num1,num2)num1+num2unlessraise_exceptionenddefd
每个企业都希望在完成项目后获得盈利,但不少企业到了年终后才发现项目做了不少,公司却并没能达到预期,甚至还出现了亏损。那么钱究竟去了哪里?很多公司都搞不清楚原因,出现糊涂账较多的状况,这将会造成严重的后果,尤其在疫情影响下,大环境很恶劣,如果是大公司的事业部门出现亏损,就可能会导致事业部门解散;如果是小公司出现亏损,就很容易导致公司倒闭;怎样做才能确保我们所完成的项目都能获利?从财务角度看,要确保盈利必须做到合理估算成本,只有这样才能在对外签订合约时做出合理报价,在对内在开始项目前做出充分评估投入代价,同时在实施过程中还要控制成本得当,最后项目结束时才会有可能获得盈利。那么我们怎样才能准确的判断
COINDAO旨在重建社区信任和安全。基于皖北基因的强烈共识,COINDAO自发产生了一个共创、共建、共治、共享的协作组织。它专注于DAO投资管理协议,为新的优质项目创造增长技术和资金。COINDAO的使命就是为真正的优质项目打造一个去中心化、公开透明的平台,让各个赛道上的优质项目能够以更低的成本快速募集资金并向公众开放.打破头部垄断。让真正的爱好者直接获得早期参与优质项目的资格,不再遥不可及,构建生态应用的可信体系,打造人人参与共建、人人共享的去中心化DAO好处。生态系统,我们称之为COINDAO生态系统。COINDAO国内各大财经网站宣发如下:COINDAO国外各大财经网站宣发: COIN