当前位置:网站首页>结合图片看常用串口通信UART
结合图片看常用串口通信UART
2022-07-17 05:12:00 【闪耀大叔】
结合图片看常用串口通信UART
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。
嵌入式开发中,特别是一些电子竞赛,平时的课程设计,毕业设计需要用到的器件有很大一部分都是串口模块,都是 UART协议的。
首先我们来区分一下几个名词
嵌入式里面说的串口,一般是指UART口, 但是我们经常搞不清楚它和COM口的区别, 以及RS232, TTL等关系, 实际上UART,COM指的物理接口形式(硬件), 而TTL、RS-232是指的电平标准(电信号).
UART和COM口的区别
嵌入式里UART的器件一般都是4个pin(VCC, GND, RX, TX), 用的TTL电平, 低电平为0(0V),高电平为1(3.3V或以上)。
COM口是我们台式机上面常用的口(下图),9个pin, 用的RS232电平, 它是负逻辑电平,它定义+5+12V为低电平,而-12-5V为高电平

我们常用UART口进行调试,但是UART的数据要传到电脑上分析就要匹配电脑的接口,通常我们电脑使用接口有COM口和USB口(最终在电脑上是一个虚拟的COM口),但是要想连上这两种接口都要需要进行硬件接口转换和电平转换。
如果连接电脑COM口, 需要一个类似下图的转换小板, 它实现了TTL电平和RS232电平互转。
而嵌入式开发里更常遇到的是要连接USB接口,这就有里以下这个东西, 它实现了TTL电平和USB电平的转换, 这种使用的非常多,单片机或者一些UART器件往往都是用这个与电脑里的上位机通讯的。
下面详细讲一下UART协议
首先我们要知道UART协议中数据是一位一位(0或1)发送的,并且连续的一串数据被分成了一帧一帧发送的,下图便是一帧数据(不包含空闲位)。

波特率:即每秒传输的位数(bit)。一般选波特率都会有9600,19200,115200等选项。其实意思就是每秒传输这么多个比特位数(bit)。
例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200位/秒=1200波特。
起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。
数据位:也就是要发送的数据(0或1),一次可以发送5或6或7或8位。最好设置为8,因为如果此值为其他的值时当你传输的是ASCII值时一般解析肯定会出问题。理由很简单,一个ASCII字符值为8位,如果一帧的数据位为7,那么还有一位就是不确定的值,这样就会出错。
校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。
1、当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。图-1的波形就是这种情况。
2、当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。
通过配置相应寄存器,此位还可以去除,即不需要奇偶校验位。通常是不需要的。
停止位:它是一帧数据的结束标志。可以是1bit、2bit的空闲电平。可能大家会觉得很奇怪,怎么会有1.5位~没错,确实有的。
空闲位:没有数据传输时线路上的电平状态。为逻辑1。
传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输“A”如果是MSB那么就是01000001,如果是LSB那么就是10000010
uart传输数据的顺序就是:刚开始传输一个起始位,接着传输数据位,接着传输校验位(可不需要此位),最后传输停止位。这样一帧的数据就传输完了。接下来接着像这样一直传送。
边栏推荐
- FMC子卡:4 路 SFP+万兆光纤网络 FMC 子卡
- 比例阀放大板1A、2A、3A、5A比例阀驱动模块0-10V转0-24V
- 4路编码器脉冲计数器,转速测量,8路DO,Modbus TCP数据采集模块
- 0-10V,4-20mA电流电压转PWM隔离转换器 质料以及应用电路图
- Rs-485/232 to 4-20ma/0-10v isolated d/a converter
- Isolate 4-20mA or 0-20mA signal transmission
- mapping索引属性 & 创建索的操作
- TP4054充电IC使用技巧---配合中科蓝讯AB5365B使用
- 简单Chrome脚本 自动跳过b站视频播放结束后的的充电鸣谢页面
- 单片机的好搭档-CS创世SD NAND FLASH
猜你喜欢

设置索引库结构,给用户添加可自动补全的suggestion,并将一些字段变成集合放到suggestion里面去

LTH7五脚芯片的完整方案图FS4054充电电路原理

为什么方案商“钟情”选择CS创世SD NAND

解决Cannot read properties of null (reading ‘pickAlgorithm‘)

2021-09-15

Unable to determine Electron version. Please specify an Electron version

Introduction to goroutine, a high concurrency feature of golang

NAND NOR FLASH闪存产品概述

3.7V lithium battery boost to 5v1a, fs2114 boost conversion chip design layout

EasyDarawin流媒体服务器介绍
随机推荐
处理中文分词 ik分词器以及拓展和停止字典
Golang multi project workspace construction
配置VsCode中‘log’快捷键去掉console.log(‘‘);中的分号;
CS品牌SDNAND和STM32MCU成功合作资料
解决:无法加载文件 C:\Program Files\.. 因为在此系统上禁止运行脚本...
压力应变桥信号处理光电隔离放大器
FS5383A锂电池3.7V输入供电太阳能草坪灯驱动IC
HT7727 HT7730 HT7733 HT7737 HT7750异步DCDC升压IC
golang 多项目工作区搭建
MCU的最佳存储方案CS创世 SD NAND
CS品牌SDNAND在颜色检测仪行业中的应用案例
Review of software process and management (VIII)
Vscode instant English translation plug-in [translation (English Chinese Dictionary)]
Unable to determine Electron version. Please specify an Electron version
Review of software process and management (6)
FS4061A(5V USB输入、双节锂电池串联应用、5v升压充电8.4v管理IC
Solve cannot read properties of null (reading 'pickalgorithm')
FMC子卡:4 路 SFP+万兆光纤网络 FMC 子卡
MCU单片机OTP
CS全新一代SDNAND(又称贴片式T卡)如何让老款MCU焕发青春活力