该文章仅为本作者在学习知识过程中的笔记,可能过程描述有不准确或遗漏的地方,欢迎在评论区打出或私信我,经再次验证后我会修改文章内容。希望大家关注我,再次感谢大家!如果有朋友转载请在文章下方备注来源,写文章不易!!感谢理解!!
UART:串行、异步、全双工
USART:串行、同步、全双工

1.电平协议TTL、RS-485、RS-232
UART/USART 常见的电平标准有:



2.通信原理
USART 的底层原理是移位寄存器通过TX和RX发送和接收数据。发送端 CPU 写数据到发送寄存器,硬件将数据按起始位、数据位、校验位、停止位依次移出到 TX 引脚;接收端通过检测起始位、按波特率采样每一位,读满整帧数据后,再装入接收寄存器供 CPU 读取。异步模式靠内部波特率计时采样,支持全双工;同步模式靠外部时钟同步。状态寄存器和中断提供发送/接收完成标志。
2.1 发送端(TX)
1.CPU 写数据到发送寄存器(如 USART_DR)
2.发送寄存器的数据被加载到 **移位寄存器,**数据按 最低有效位先 (LSB first) 串行发送。
3.帧结构(异步模式为例)
一般为10位 :起始位(逻辑0)+8位数据位(如果有奇偶检验为位10位)+停止位(逻辑1)。移位寄存器的比特通过 TX 引脚输出电平(TTL/RS232/RS485)。
2.2 接收端(RX)
1.异步模式下,接收端检测到 起始位下降沿 开始定时采样,每个数据位在波特率时钟中心点采样,保证数据正确
2.接收到的比特依次进入移位寄存器,当整帧接收完成后,硬件将数据放入 接收寄存器(USART_DR)
3.CPU 从接收寄存器读取数据,通常配合 接收中断或状态标志位(RXNE)
2.3 底层硬件原理
- 移位寄存器通过TX和RX发送和接收数据
- 波特率发生器:生成固定波特率时钟(异步模式用来控制采样时间),如果不一致会乱码
- 状态寄存器:提供标志位(TXE、RXNE、OVR、PE 等),便于 CPU 判断发送/接收状态
- 缓冲寄存器:发送和接收寄存器解耦 CPU 与移位寄存器,允许 CPU 异步操作

7万+

被折叠的 条评论
为什么被折叠?



