ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

STM32:快速入门USART串口

STM32:快速入门USART串口

一、大致理解:

(1)是一个片上外设

(2)通用同步、异步收发器(S:同步、A:异步)

(3)由两根数据线和地线以及一根时钟线组成(数据线:Tx:发数据线,Rx:收数据线、地线:GND、时钟线:RCC)(UART没有时钟线)

(4)全双工通信

(5)串行通信

(6)1对1通信

(7)采用帧格式:1起始位+(5-8)位数据位+1(0-1)位校验位+停止位

1、理解半双工、单工、全双工

半双工:可选择收,或者发,但是只能单向发送

单工:只能二选一,选择其一后就不能再改变了。

全双工:收发可以同时进行。

2、理解串行和并行

串行:一个单位一个单位的发(收)数据。

并行:利用多条数据线实现同一时间内多单位数据收(发)。

(注意:串行 != UART串口)

3、理解一对一、一对多通行

一对一:一个串口单元只能对一个串口单元通信

一对多:一个串口单元可以对多个串口单元通信

4、理解帧格式

帧格式就是一种通信协议,它规定了两个串口都必须使用这套语言。

类比记忆:就相当于两个人交流,如果两个人使用的是不同国家的语言就会导致听不懂话里的信息,帧格式就是强制他们用同一国语言,这样就可以正常交流

  • 1 个起始位:线路从高电平拉低,通知接收方一帧开始。

  • 5~8 个数据位:实际载荷,通常低位先行。(LSB:低位数据权位,MSB:高位数据权位)

  • 0 或 1 个校验位:可选,用于简单的单比特错误检测(奇校验或偶校验)。

  • 1 或 2 个停止位:拉高线路,标示帧结束,给接收方缓冲时间。

  • 空闲时线路保持高电平。这种格式没有地址概念,只适合点对点通信。

5、理解波特率和比特率

比特率:每秒传递的比特个数(bit/s)

波特率:每秒传递信息的种数(Bd)

比如01、11、00、10表达四种信息假设,如果每秒传递一种信息01

那么它的比特率为2bit/s,波特率为1Bd

二、USART串口片上外设总结构图:

(1)需要注意的部分:

除了上图,其他都是我们往MCU写入对应的程序让他自己完成的。

三、看看MCU内存映射USART的具体位置:

(注释:只是截取了属于这方面的USART内存范围作为拼凑,并原本就是这样。)

(1)视角集中到USART1:

这就是USART1内存中所映射的寄存器了。

I.(USART_DR寄存器)

收(RDR)发(TDR)寄存器所在的位置:

我们所说的收发寄存器就位于偏移量为004h那个位置,USART1它用一个寄存器表示收(RDR)、发(TDR)寄存器,这些尽管意法半导体没有纰注这时如何做到的。

如何实现传输的?

HAL库中专门有一个函数专门朝这个寄存器进行写入数据。

HAL_StatusTypeDef HAL_USART_Transmit(USART_HandleTypeDef *husart, const uint8_t *pTxData, uint16_t Size, uint32_t Timeout); HAL_StatusTypeDef HAL_USART_Receive(USART_HandleTypeDef *husart, uint8_t *pRxData, uint16_t Size, uint32_t Timeout);

参数含义:

  • husart:USART 句柄指针,包含外设实例及配置信息。

  • pTxData/pRxData:指向发送或接收数据缓冲区的指针。(再代码阶段自己创建)

  • Size:要发送或接收的数据元素个数(注意不是字节数,取决于字长配置)。

  • Timeout:超时时间(单位通常为毫秒),防止阻塞卡死。

状态寄存器(USART_SR):

来表述DR寄存器当前状态来返回给用户的一个寄存器。

该注意什么?

对于初学者来说现在只用注意这两个就可以了:

借助TXE标志实现阻塞式发送:

因为MCU读取USART的方式是先SR再DR所以就会在写入数据之前读取TXE,这时如果TXE = 0那就说明此时DR寄存器属于有数据阶段,MCU就不会执行朝DR中编辑数据操作,这就会造成阻塞状态。

四、CH340K:(USB接口和UART TTL接口的翻译官)

五、使用CubeMx配置USART

(1)、打开CUbeMx软件:

(2)、创建新文件:

(3)搜索对应的板子(基于自己买的单片机板子类型而定)

(4)完成前置工作:

这一步我简单解释一下:将SYS(系统核心)调试配置采用SW

使用外部高速时钟源

(5)、配置USART:

USART1使用异步通信。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进