
通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换 USART利用分数波特率发生器提供宽范围的波特率选择,它支持同步单向通信和半双工单线通信,还允许多处理器通信 USART的主要特性如下: 全双工的,异步通信 NRZ标准格式 分数波特率发生器系统(发送和接收共用的可编程波特率,最高达4.5Mbits/s) 可编程数据字长度(8位或9位) 可配置的停止位-支持1或2个停止位 发送方为同步传输提供时钟 单独的发送器和接收器使能位 检测标志(接收缓冲器满,发送缓冲器空,传输结束标志) 校验控制(发送校验位,对接收数据进行校验) 接口通过三个引脚与其他设备连接在一起 RX:接收数据串行输。通过过采样技术来区别数据和噪音,从而恢复数据 TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活, 并且不发送数据时,TX引脚处于高电平 ![]() 寄存器方面: 一个状态寄存器(USART_SR) 数据寄存器(USART_DR) 一个波特率寄存器(USART_BRR),12位的整数和4位小数 一个智能卡模式下的保护时间寄存器(USART_GTPR) 字长可以通过编程USART_CR1寄存器中的M位,选择成为8或9位。在起始位期间,TX脚处于低电平,在停止位期间处于高电平。 空闲符号被视为完全由’1’组成的一个完整的数据帧,后面跟着包含了数据的下一帧的开始位(‘1’的位数也包括了停止位的位数)。 断开符号 被视为在一个帧周期内全部收到’0’(包括停止位期间,也是’0’)。在断开帧结束时,发送器再插入1或2个停止位(‘1’)来应答起始位。 发送和接收由一共用的波特率发生器驱动,当发送器和接收器的使能位分别置位时,分别为其 产生时钟。 ![]() 在USART发送期间,在TX引脚上首先移出数据的最低有效位。在此模式里,USART_DR寄存器包含了一个内部总线和发送移位寄存器之间的缓冲器。每个字符之前都有一个低电平的起始位;之后跟着的停止位,其数目可配置 在USART接收期间,数据的最低有效位首先从RX脚移进。在此模式里,USART_DR寄存器包 含的缓冲器位于内部总线和接收移位寄存器之间 分数波特率的产生 接收器和发送器的波特率在USARTDIV的整数和小数寄存器中的值应设置成相同 ![]() USARTDIV是一个无符号的定点数。这12位的值设置在USART_BRR寄存器 注意:在写入USART_BRR之后,波特率计数器会被波特率寄存器的新值替换。因此,不要在通信进行中改变波特率寄存器的数值 USART的寄存器 可以用半字(16位)或字(32位)的方式操作这些外设寄存器 状态寄存器(USART_SR) ![]() ![]() 数据寄存器(USART_DR) ![]() ![]() 波特比率寄存器(USART_BRR) ![]() 控制寄存器 1(USART_CR1) ![]() ![]() ![]() 控制寄存器 2(USART_CR2) ![]() ![]() 控制寄存器 3(USART_CR3) ![]() ![]() 保护时间和预分频寄存器(USART_GTPR) ![]() ![]() ———————————————— 版权声明:CodeForCoffee |
【STM32U3评测】实现双通道串口通信系统
STM32G系列RS485自动收发控制以及自适应波特率实战
【STM32H7S78-DK评测】CoreMark移植和优化--兼记printf重定向实现方法及常见问题
【STM32MP135-DK】裸机移植shell
NUCLEO-U545RE-Q评测】3. 串口基本收发测试
NUCLEO-U545RE-Q评测】4. 串口实用收发测试
基于STM32模拟UART串口通信
【STM32H503评测】+ coremark跑分移植测试
基于STM32H563演示UART+DMA经验分享
STMCube UART与ADC配置