大家好,又见面了,我是你们的朋友全栈君。
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标准
3.USB
通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品 ,随着时代的发展,USB接口已经逐渐替代了COM口,成为最主流的接口,现今已经到了USB 3.0
常见的USB接口:
电脑上的USB接口的输出电压为直流5V,输出电流不大于500毫安 并且与TTL电平不兼容,信号传输时需要电平转换电路。
4.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口
电脑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位(一个字节/两个字节)数据
————————————————
版权声明:本文为CSDN博主「Z小旋」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/as480133937/article/details/97483342
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126174.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...