【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算

STM32串口通信相关知识

一、串行通信接口背景知识

处理器与外部设备通信的两种方式:并行通信和串行通信

并行通信

传输原理:数据各个位同时传输。

优点:速度快

缺点:占用引脚资源多

串行通信

传输原理:数据按位顺序传输。

优点:占用引脚资源少

缺点:速度相对较慢

串行通信按照数据传送方向分为:

(a)单工:数据传输只支持数据在一个方向上传输

(b)半双工:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信

(c)全双工:允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第1张图片

串行通信的通信方式

(1)同步通信:带时钟同步信号传输。比如,SPI、IIC通信接口。

(2)异步通信:不带时钟同步信号。比如,UART(通用异步收发器)、单总线。

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第2张图片

异步通信UART包含三点知识:

(1) 物理层(电气层:接口决定):

通信接口(RS232,RS485,RS422,TTL)

(2) 数据格式(数据层:芯片决定)

包括起始位,停止位,校验位,数据位等

(3) 通信协议(协议层:程序决定)

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第3张图片

 

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第4张图片

二、STM32串口通信过程和数据格式

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第5张图片

 

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第6张图片

 

三、串口通信框图和波特率计算方法

 

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第7张图片

RX接收串口输入的数据,并把它传到接收移位寄存器,再把它传到接收数据寄存器,之后CPU通过总线去读取它。CPU通过总线写入发送数据寄存器,并把它传到发送移位寄存器,之后TX把数据发送出去。

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第8张图片

发送移位寄存器和接收移位寄存器的发送和接收是由波特率所控制的。从发送控制和接收控器分别有两个箭头指向了发送移位寄存器和接收移位寄存器。

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第9张图片

而发送控制和接收器控制的时钟是由图中左下角产生的,图中右下角产生分数分频系数USARTDIV

波特率计算公式

【STM32】串口通信相关知识、数据格式、串口通信框图和波特率计算_第10张图片

控制寄存器1(USART_CR1)的位15

 

你可能感兴趣的:(《嵌入式》STM32学习笔记,串口通信,stm32)