UART 介绍STM32F0微控制器的通用同步异步收发器(UART1~UART8)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。STM32F0的UART提供宽范围的波特率选择,并且支持多处理器通讯。
接口通过两个或三个引脚与其他设备连接在一起。任何UART双向通信至少需要两个脚:
UART_RX:串行数据输入。使用采样技术来区别数据和噪音,从而恢复数据。
UART_TX:串行数据输出。当发送器被禁止时,输出引脚状态由其GPIO端口配置决定。
当发送器被激活,并且不发送数据时,TX引脚处于高电平。
UART_SK:发送器时钟输出。此引脚输出用于同步传输的时钟。
UART 主要功能
● 全双工,异步通讯
● 数据字长可编程( 8 或 9 位)
● 高位在前或低位在前可设置
● 停止位个数可设置 - 支持 1 个或 2 个停止位
● 同步模式下时钟输出功能,实现同步通讯
● DMA (直接内存访问)支持下的连续数据通讯
- 利用 DMA 功能将收 / 发字节缓冲到保留的 SRAM 空间
● 针对接收器和发送器的单独的使能位
● 可配置为 Tx/Rx 引脚互换
● 用于 MODEM 的硬件流控制和 RS-485 发送使能控制
● 发送检测标志有:
- 接收缓冲区满
- 发送缓冲区空
- 忙和发送结束标志
● 十四个中断源和中断标志
- CTS 切换
- LIN 断开检测
- 发送数据寄存器空
- 发送完成
- 接收数据寄存器满
- 检测到线路空闲
- 溢出错误
- 帧错误
- 噪声错误
- 奇偶错误
- 地址 / 字符匹配
- 接收超时中断
- 块结束中断
- 从 Stop 模式唤醒
UART 异步串行通信的字符格式
通过这些管脚,在普通UART模式下串行数据的发送接收帧结构组成如下:
● 总线在发送或接收前应处于空闲状态
● 一个起始位
● 一个数据字(8或9位),最低有效位在前
● 一个校验位
● 一个或两个停止位
UART 串行通信的传送速率
传送速率用于说明数据传送的快慢。在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称之为波特率(band rate)。每秒传送一个格式位就是1波特。
常用的有: 4800、9600、19200、115200波特。
|