从零开始学习嵌入式之UART通信
只是一部分笔记,慢慢补全中~
UART 简介
Universal Asynchronous Receiver Transmitter 通用异步收发器
是一种通用的串行、异步通信总线,该总线有两条数据线,可以实现全双工的发送和接受。在嵌入式系统中常用于主机与设备之间的通信。
UART 帧格式
起始位,1位,通知开始接收数据
数据位,5-8位,一般为8位,先发地位,后发高位
校验位,可有可无
停止位: 1/1.5/2位
空闲位
——————————————————————————————
一些小补充:
总线空闲的时候,电平拉高
UART 控制器—SOC内部集成,提供一系列寄存器
TTL转232芯片的作用是 延长传输距离
设置引脚功能的本质:在芯片内部接入不同功能的控制电路
———————————————————————————————
UART内部组成
发送器
接收器
控制器
波特率产生器
波特率产生器使用SCLK_UART
发送器和接收器都包含FIFO和数据移位器(一位一位的将数据发送或接受进)
发送的数据先写入TX-FIFO,然后被复制进发送移位器中,数据接下来从发送数据引脚输出。
接受的数据先从RX引脚输入,从接受移位器复制进RX-FIFO中
UART寄存器详解
ULCON : Line Control 控制帧格式 数据位,校验位等
UCON: 发送or接受模式:,是否开启DMA模式,Timout中断等,回环模式
UFCON: 控制FIFO
UMCON: 控制模式,AFC相关,自动流控制?
UTRSTAT:TX/RX状态,发送完,数据是否有效?
UERSTAT: RX错误状态
UFSTATS: FIFO状态,满或空
UMSTST: 状态寄存器,流控制
UTXH: 发送缓冲区,数据接入发送缓冲区寄存器后,可被发送出去
URXH:接受缓冲区
UBRDIV: 比特率相关
UFRACV:波特率相关
UINTP:Interrupt pending
UINTSPAN: interrupt source pending
UINTM: interrupt Mask
UCON 发送模式包括: 禁用,DMA,中断,轮询,
UTRSTAT:
发送缓冲器为空: 意思是,发送缓冲器里面的数据发送完成。
接收缓冲器Ready
UTXH: 发送缓冲区