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

相关推荐
森焱森2 小时前
APM与ChibiOS系统
c语言·单片机·算法·架构·无人机
Wangshanjie_984 小时前
【STM32】-单片机数据通讯基本概念
stm32·单片机
不落的太陽4 小时前
让测距功能与时俱进
单片机·嵌入式硬件
Funing75 小时前
stm32地址偏移:为什么相邻寄存器的地址偏移量0x04表示4个字节?
stm32·单片机·嵌入式硬件
竹照煜_ysn13 小时前
蓝桥杯51单片机设计
单片机·嵌入式硬件·51单片机
Electron-er14 小时前
汽车LIN总线通讯:从物理层到协议栈的深度解析
单片机·汽车电子·lin总线·lin总线通讯
Do vis82415 小时前
STM32第十六天蓝牙模块
stm32·单片机·嵌入式硬件
学不动CV了15 小时前
ARM单片机启动流程(二)(详细解析)
c语言·arm开发·stm32·单片机·51单片机
猫猫的小茶馆17 小时前
【STM32】通用定时器基本原理
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
jingshaoqi_ccc17 小时前
stm32的USART使用DMA配置成循环模式时发送和接收有着本质区别
stm32·单片机·嵌入式硬件