1串口
串口,即串行通信接口,与之相对应的另一种接口叫并口,并行接口。两者的区别是,传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输,而并口则将8个位一字排开,分别在8条连接线上同时传输   ,也就是进行数据传输的接口

串口是一种物理接口形式,(硬件)通常指COM接口  ,当然这些接口有着很多标准

接口标准:

串口通信的接口标准有很多,而我们所了解的RS-232C、RS-232、RS-422A、RS-485  都是串口的标准之一

 

通常使用的是9 针D 形连接器,简称 DB9接口,也称之为RS-232接口,之前串口通信使用的大多都是 DB9 接口

而有的使用的是老式的DB25 针连接器,也称之为RS-422接口,这种接口目前已经很少使用

DB25 和 DB9 接头有公头和母头之分,其中带针状的接头是公头,而带孔状的接头是母头

而DB9/DB25接口  ,就称为COM口 

2.UART口
嵌入式里面说的串口,一般是指UART口   

UART  通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。

它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片

同样它是串行通信接口  UART只有数据线收和发,并无时钟线,故为异步串行通信接口,可以实现全双工传输和接收;在嵌入式中,常用与上位机与外设通信

单片机中的UART有4个pin(VCC, GND, RX, TX), 用的TTL电平

VCC:供电pin,一般是3.3v,

GND:接地pin,板内共地时可以不单独接,板间通信时候必须接上

RX:数据接收引脚

TX:数据发送引脚

 

TTL电平与RS-232区别
RS232电平,  它是负逻辑电平,它定义+5~+12V为低电平“0”,而-12~-5V为高电平“1”

TTL电平(Transistor-Transistor Logic),该电平的逻辑“1”为+5V,逻辑“0”为0V,称为TTL

TTL电平标准:

输出 L: <0.8V ; H:>2.4V。

输入 L: <1.2V ; H:>2.0V

 

需要注意的是RS-232与TTL只是一种电平标准,而COM口和UART口是物理接口,只是COM口肯定使用RS-232标准

而UART一般使用TTL标准

 

USB
通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品  ,随着时代的发展,USB接口已经逐渐替代了COM口,成为最主流的接口,现今已经到了USB 3.0

 

常见的USB接口:

电脑上的USB接口的输出电压为直流5V,输出电流不大于500毫安 并且与TTL电平不兼容,信号传输时需要电平转换电路。

 

USB转TTL
我们知道现在电脑使用的基本都是USB接口,而单片机使用的是TTL标准,那么在嵌入式中我们需要上位机通信,怎么办呢?,这时候便需要一个转换芯片,从而使得电脑(主机)可以通过USB输出TTL电平  ,这便是USB转TTL

那么我们所已知的CH340G CH340E PL2303 、CP2102 等等 ,都是USB转TTL串口的芯片 

当然现在普遍使用的为CH340G 主要是因为其安全,耐用并且便宜  满足我们日常的正常使用 

在接线时注意单片机RX接转接板TX TX接转接板RX

连接顺序为:

  电脑USB口---> USB转TTL---->单片机UART口

USB转串口(RS-232)
我们知道单片机是UATR口 TTL电平标准,而电脑是USB口  如果我们想用电脑的USB口与单片机串口(COM口)通信,这时就需要使用MAX232之类的电平转换芯片,将单片机TTL电平转换成RS-232电平  ,并且

将USB转换为RS-232电平  这就是USB转串口

我们所说的USB转串口,就是指单片机上装了一个TTL转RS-232的转换芯片 ,并且有COM口,使得单片机可以输出RS-232电平,这样便可以通过 USB转串口(RS-232)模块连接电脑USB口,再与单片机COM口相连,双方都是RS-232电平标准,便可以来进行通信

 

市场出售的usb转串口线一般会有两个芯片,一个是CH340这类芯片,一个是MAX232类芯片,因为计算机的串口电平标准是RS232电平

所以通过 USB转串口(RS-232)模块  USB经过CH340转成了TTL串口,中间那四个引脚可以引出,再经由MAX232转换为RS-232电平,9针串口引出   

下方为USB转串口(RS-232)模块

并且MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL

在单片机上用作TTL转RS-232   

连接顺序为:

  电脑USB口--->USB转串口---->单片机COM口

两个单片机以RS-232通讯协议标准串口的设备间通讯结构图如下:

电脑COM口 to 单片机COM口
当然,如果电脑有COM口,这个时候便可以直接将电脑的COM口与单片机的COM口进行相连,便可以进行通信

当然在串口通信中通常 电脑的 DB9 为公头,单片机上使用的串口 DB9 为母头,通过一根直通串口线进行相连

连接顺序为:

  电脑COM口--->---->单片机COM口

以单片机串口与PC串口通信就应该遵循下面的连接方式:在单片机串口与上位机给出的rs232口之间,通过电平转换电路(如下面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换。

电脑USB口 to 单片机USB口

为了方便,很多单片机上都配备了USB转TTL芯片,直接引出usb接口,便可以实现通信

总结:
最简单理解  xx转xx   就是将前面的转换为后面的  USB转TTL 就是将USB转换为 TTL电平 USB转串口 就是将USB转换为串口

①.COM口:在台式机上常用的口,DB9/DB25接口,接口协议只有两种RS232和RS485

COM口多见于旧式电脑,用于连接鼠标,调制调解器等设备,现在已被USB取代。

②.UART口、COM口指的是物理接口形式;TTL、RS232和RS485指的是电平逻辑标准;

③TL电平和RS232电平转换专用芯片有MAX232,TTL电平转USB芯片有CP2102、PL2303、FT230,CH340

④ COM口 和UART口 都为串口的一种 ,即都为串行通信  UART为异步串行通信接口

⑤UART包含TTL电平的串口和RS232电平的串口,但是我们的单片机的UART是TTL电平

⑥ 串口按照接口划分标准分为很多种 ,如UATR RS232  同步串行接口 

扩展:
同步通信和异步通信:

同步通信和异步通信的区别是:时钟线的有无。同步通信有时钟线,收发双方通过统一的时钟来频率确定何时进行数据的传输,如I2C和SPI。异步通信没有时钟线,可以任意时刻开始发送字符 但只能在数据的开始和尾加入标志位来区分不同的数据帧,即加上开始位和停止位,所传送的数据以字节为单位。每个字节前加上一位起始位,每个字节的后面加上停止位,接收数据之前也要预先知道波特率的大小,传输效率比同步通信要低。如UART 但方便简单,易于操作

 简单来说:

同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。  
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

串行通信与并行通信:

串行通信就是一根数据线,数据是一位一位的依次传输    

而并行通信则是8跟数据线,数据是一个字节一个字节的发送

串口形容一下就是一条车道,而并口就是有8/16个车道同一时刻能传送8/16位(一个字节/两个字节)数据