STM32(14)USART

USART:一种片上外设,用来实现串口通信,就是stm32内部的串口

USART简介

串并转换电路

串行通信和并行通信

串行:一根数据线,逐个比特位发送

为什么要串并转换

移位寄存器

USART的基本模型

通过查询SR(状态寄存器) 可知数据有没有发完,有没有接收到数据等

CR(配置寄存器)

BPR(波特率寄存器)

产生一个频率可调的脉冲信号

数据的发送

双缓冲和连续发送

TDR和移位寄存器分别对应两个缓冲

数据发送过程中的问题

1.数据发送过快导致数据覆盖

2.数据说明时候发送完成

SR(状态寄存器)

通过读取标志位获取USART的工作状态

每次向TDR中写值之前,先查询TXE标志位

TXE=1,则TDR寄存器为空,可以写

TC=1,则两个寄存器都为空,表明数据发完了

单个数据的发送

数据的连续发送

错为什么错:并不是双缓冲的连续发送

数据的接收

存在的问题:不知道什么时候读数据

有数据时,要赶紧读RDR里的数据

接收单个数据

接收多个数据

错误标志位

接收方:

数据接收方会采集码元,过采样的方式采集,以16倍的波特率采集,三次采的都是1则1,

过载错,没有及时的读数据,导致接收方的移位数据寄存器中的数据被后来的数据覆盖,则ORE为1

错误标志位只对数据的接收方有效

所以这些程序只写在数据接收方

为什么要先备份:

错误标志位指示的是当前在RDR寄存器里的数据的错误情况,第三步把数据读出来后,标志位会清空

相关推荐
Zw-awa10 小时前
传感器是什么:让 STM32 知道车外发生了什么
stm32
SuperByteMaster12 小时前
allegro 布线规则管理器
嵌入式硬件
女神下凡13 小时前
芯参谋(41):DDR2_电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
Zhao1368245539115 小时前
国产替代DPE5500百兆以太网控制芯片兼容W5500
嵌入式硬件·物联网
yuehuaxin0115 小时前
LP20R100FN 同步整流|3C 认证适配器 CCM 工况倒灌、温升超标样机避坑解析
嵌入式硬件·智能家居·适配器模式·智能硬件
国科安芯16 小时前
商业立方星平台中高集成度抗辐射MCU的功耗优化与批量化应用可行性探讨
单片机·嵌入式硬件·架构·risc-v·抗辐射·as32x601
女神下凡16 小时前
芯参谋(40):UFS 电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
iCxhust17 小时前
CAN信号电平与485信号电平实测
单片机·can·通讯·rs485
深圳市恒锐丰科技杨生17 小时前
EG1125 准谐振原边反馈 CC‑CV 功率开关|屹晶 EGmicro
嵌入式硬件·硬件工程
iCxhust18 小时前
51单片机电力载波应用开发(七)广播通讯
c语言·开发语言·单片机·嵌入式硬件·51单片机