文章目录

  • 零处理器与外部设备通信的两种方式:
  • 串行通信的通信方式
  • STM 32的串口通信接口
  • UART异步通信方式引脚连接方法
  • STM 32串口异步通信需要定义的参数
  • 常用的串口相关寄存器
  • 波特率计算方法
  • 串口操作相关库函数(省略入口参数)
  • 洛谷题


零处理器与外部设备通信的两种方式:

并行通信

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

优点:速度快

缺点:占用引脚资源多

串行通信

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

优点:占用引脚资源少

缺点:速度相对较慢

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

单工:

数据传输只支持数据在一个方向上传输

半双工:

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

全双工:

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

grpc 双工通信 双工通信的优缺点_数据

串行通信的通信方式

同步通信:带时钟同步信号传输。

SPI, IIC通信接口

异步通信:不带时钟同步信号。

UART(通用异步收发器) , 单总线

grpc 双工通信 双工通信的优缺点_grpc 双工通信_02

STM 32的串口通信接口

UART:通用异步收发器
USART:通用同步异步收发器

UART异步通信方式引脚连接方法

RXD:数据输入引脚。数据接受。

TXD: 数据发送引脚。数据发送。

grpc 双工通信 双工通信的优缺点_引脚_03


grpc 双工通信 双工通信的优缺点_grpc 双工通信_04

STM 32串口异步通信需要定义的参数

①起始位

②数据位(8位或者9位)

③奇偶校验位(第9位)

④停止位(1,15,2位)

⑤波特率设置

grpc 双工通信 双工通信的优缺点_引脚_05

常用的串口相关寄存器

  • US ART_SR状态寄存器
  • US ART_DR数据寄存器
  • USA RTL BRR波特率寄存器

波特率计算方法

grpc 双工通信 双工通信的优缺点_数据_06

上式中, fPCLK x是给串口的时钟(PCLK1用于USART 2、3、4、5 PCLK 2)于US0ARTI) ;USARTDIV是一个无符号定点数。我们只要得到USARTDIV的值, 就可以得到串口波特率寄存器USART I>BRR的值, 反过来, 我们得到USART I>BRR的值, 也可以推导出USARTDIV 的值。但我们更关心的是如何从USARTDIV的值得到US ART_BRR的值, 因为一般我们知道的是波特率, 和PCLK x的时钟, 要求的就是US ART_BRR的值。

串口操作相关库函数(省略入口参数)

void USART_lnit();//串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能
void USART_Cmd();//使能串口
void USART_ITConfig();//使能相关中断

void USART_SendData();//发送数据到串口,DR
uint16_tUSARTReceiveData();//接受数据,从DR读取接受到的数据

FlagStatus USART_GetFLAGStatus();//获取状态标志位
void USART_ClearFlag();//清除状态标志位
ITStatus USART_GetITStatus();//获取中断状态标志位
void USART_ClearITPendingBit();//获取中断状态标志位

洛谷题

三连击的解题办法只适用于这道题,需要范围。