STM32 UART 硬件结构

访问串口与读写内存无差,串口将寄存器中的值通过数据线一位一位的传输出去

协议

设置波特率,数据位 115200 8 n 1

BSRR/CR

查询方式进行数据的发送与接收

(在一个while循环中判断状态,然后读取数据

1、发送:数据传输寄存器TDR,自动的放到移位寄存器,自动的一位一位发送

数据是否被移动到移位寄存器看TXE寄存器,判断TDR是否空

移位寄存器中的值是否传输完成看TC寄存器;

2、接收:读串口数据

unsigned int *p=RDR的地址,然后取*p的值

状态分辨:RXNE(read data register not empty)

中断

中断类型

状态寄存器SR

常用的两个中断:1、TDR为空。2、RDR收到数据了

TXE中断:SR中的TXE=1时,发送中断,代表TDR寄存器为空时,发送一个中断?

FIFO

注:F103没有FIFO

避免不能马上读数据时,寄存器中的值被下一个数据覆盖;

用FIFO来存储多个字节进行缓冲

相关推荐
我送炭你添花3 分钟前
电子世界的奇妙冒险:从一个电阻开始(系列目录)
人工智能·单片机·嵌入式硬件·fpga开发
VekiSon17 分钟前
Linux内核驱动——设备树原理与应用
linux·c语言·arm开发·嵌入式硬件
国科安芯26 分钟前
火箭传感器控制单元的抗辐照MCU选型与环境适应性验证
单片机·嵌入式硬件·架构·risc-v·安全性测试
-Springer-1 小时前
STM32 学习 —— 个人学习笔记5(EXTI 外部中断 & 对射式红外传感器及旋转编码器计数)
笔记·stm32·学习
LS_learner1 小时前
树莓派(ARM64 架构)Ubuntu 24.04 (Noble) 系统 `apt update` 报错解决方案
嵌入式硬件
来自晴朗的明天2 小时前
16、电压跟随器(缓冲器)电路
单片机·嵌入式硬件·硬件工程
钰珠AIOT2 小时前
在同一块电路板上同时存在 0805 0603 不同的封装有什么利弊?
嵌入式硬件
代码游侠2 小时前
复习——Linux设备驱动开发笔记
linux·arm开发·驱动开发·笔记·嵌入式硬件·架构
代码游侠13 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法