今天的学习内容是:学习32单片机的USART串口通信。
START!
USART
一:简单概述
1. 全称:通用同步异步收发协议
数据帧:【起始位-低电平;数据位:5~9位,通常为9位;校验位:分奇校验和偶校验;停止位:1~2位,高电平。】
空闲状态:持续高电平
PS: USART/UART通信均是先发低位!
二:STM32的串口模块
1. 5个串口相关片上外设:
APB1 总线: USART2、USART3、UART4、UART5
APB2 总线: USART1
2.功能框图
发送流程:【a.将要发送的数据写入TDR;b.TDR将数据放入发送移位数据寄存器;c.发送移位数据寄存器从低位开始逐bit发送】;
接收流程:【a.RX引脚的数据逐位放入接收数据移位寄存器;b.接收数据移位寄存器接收完毕,放入RDR;c.从RDR中读取数据】
3.波特率计算
波特率=时钟频率/16/USARTDIV( USARTDIV 是一个分频值,需存入 USART_BRR 寄存器)
4.相关寄存器
寄存器组 USART1
SR 状态寄存器,常用控制位:TXE、TC、RXNE、IDLE 等
DR 数据寄存器,TXD和RXD共用一个寄存器名称(地址)
CR1 控制寄存器1,常用控制位:TE、RE、UE、PCE、M 等
CR2 控制寄存器2,STOP 等
BRR 波特率寄存器,高16位保留、中间12位存整数、低4位存小数