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来存储多个字节进行缓冲

相关推荐
xyx-3v1 小时前
VS CodeC51 单片机开发环境搭建
单片机·嵌入式硬件
iCxhust2 小时前
c# U盘映像生成工具
开发语言·单片机·c#
小宋同学在不断学习3 小时前
stm32--SPI原理应用W25Q64(二)
stm32·单片机·spi
lingzhilab4 小时前
零知开源——STM32F4结合BMP581气压传感器实现ST7789中文显示教程
stm32·单片机·嵌入式硬件
夜月yeyue4 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
猫猫的小茶馆5 小时前
【STM32】外部中断
stm32·单片机·嵌入式硬件·mcu·51单片机
is08156 小时前
STM32两种不同的链接配置方式
stm32
森焱森7 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
brave and determined8 小时前
国产MCU学习Day11——CW32F030C8T6 低电压检测器(LVD)详解与应用
单片机·嵌入式硬件·嵌入式·国产mcu·cw32f030c8t6·cw32f030c8t6lvd·低电压检测器
哄娃睡觉8 小时前
stm32 dac无法输出满量程电压3.3V
stm32