UART接口学习

1、UART基本概念

UART(Universal Asynchronous Receiver/Transmitter)即通用异步收发器,是串行通信一种通信技术,常用于单片机和电脑之间以及单片机和单片机之间的板级通信。是一种异步收发传输器,也是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx 和Tx)就可以完成通信过程,因此也称为异步串行通信。

2、UART通信协议

UART工作原理是将传输数据的每个字符一位接一位地在UART总线上传输。

串口配置基本属性如下:

(1)波特率:每秒钟发送的符号数

(2)起始位:先发出一个逻辑0的信号,表示传输数据的开始

(3)数据位:衡量通信中实际数据位的参数。标准的数据位可以是5、7、8位,从最低位开始传输

(4)奇偶校验位:UART发送时,检查发送数据中1的个数,自动在奇偶校验位上添上1或0,用于发送数据的校验数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例:

当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验);

当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验);

(5)停止位:数据结束的标志,可以是1位、1.5位、2位的高电平

(6)空闲位:处于逻辑1的状态,表示当前线路上无数据传输


3、UART的物理引脚

UART有4个pin(VCC,GND,RX,TX),用的TTL电平,低电平为0(0V),高电平为1(3.3V或以上)。

VCC:供电pin,一般是3.3v

GND:接地pin,一般也可不接,但是如果rx接收的数据有问题,就要接上这个pin

RX:接收数据pin

TX:发送数据pin


4、UART的数据发送和接收

发送数据过程:空闲状态,线路处于高电平,当收到发送数据指令后,拉低电平一个数据位的时间,接着数据按低位到高位依次发送,数据位发送完毕,接着发送奇偶校验位和停止位,停止位为高电平,一帧数据发送结束;

接收数据过程:空闲状态,线路处于高电平,当检测到线路的下降沿,说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后接着接收奇偶校验位并比较,看奇偶校验位是否正确,如果正确则通知接收端设备准备接收数据;

当我们使用putty、SecureCRT等串口工具接收串口数据时出现异常,可能是在终端设置了流控,将流控关闭即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 做单片机开发时UART,SPI和I2C都是我们最经常使用到的硬件接口,我收集了相关的具体材料对这三种接口进行了详细...
    小白兔胡萝卜阅读 572评论 0 0
  • 做单片机开发时UART,SPI和I2C都是我们最经常使用到的硬件接口,我收集了相关的具体材料对这三种接口进行了详细...
    梁睿坤阅读 68,688评论 7 31
  • 1.USART 通用同步/异步串行接收/发送器,USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度...
    katcoo阅读 3,313评论 0 6
  • 1、串口通信协议。 串口是计算机上一种非常通用的设备通信协议(不要与通用串行总线Universal SerialB...
    逍遥小妖jerry阅读 1,388评论 0 2
  • USART为通用同步/ 异步收发器。stm32F103RC内置了3个通用同步/异步收发器(USART1、USART...
    简小黑阅读 9,123评论 0 0

友情链接更多精彩内容