news 2026/4/29 21:00:03

STM32-HAL-UART

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32-HAL-UART


同步工作模式就是在异步工作模式下多加了一根线CK(clock时钟)线,有了这条线之后收发双方就可以同步起来

USART 简介

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是一种通用串行通信接口,支持同步和异步通信模式。广泛应用于微控制器、传感器、工业设备等场景,实现设备间的数据传输。

发送方通过TX把数据发送给接收方,但是数据的收发需要遵从一定的格式

串口数据收发格式:

串口是以数据帧为传输数据的单位的

数据帧一般由一位起始位+8/9位数据位+0.5/1/1.5/2位停止位

数据传输步骤(结合上图):

起始位

数据开始传输前,串口处于空闲状态,数据线上是高电压,发送方将数据线拉低,这样就发送给了一个起始位(表示数据传输的开始),后边紧跟着的是数据位,数据传输中高电压表示1,低电压表示0。

数据位

数据的发送是以二进制形式进行,如:十进制数字100转换为二进制就是0110 0100(64+32+4),再把它翻转过来,低位在前,高位在后,即:0010 0110 ,遇到1就发送高电压,遇到0就发送低电压

停止位

通过保持一段时间的高电压来发送停止位,停止位的长度是可以设置的,由0.5/1/1.5/2位这四种停止位,一般选择1位停止位,停止位标志着数据帧的结束,之后串口重新进入空闲状态。

四种数据位设置形式

1.8位数据位+无校验位每次传输数据为:1字节(8比特位)

2.8位数据位+有校验位每次传输数据为:不足1字节(7比特位)

3.9位数据位+无校验位每次传输数据为:超过1字节(9比特位)

4.9位数据位+有校验位每次传输数据为:1字节(8比特位)

习惯上以字节为单位传输数据,所以一般选择8位无校验和9位有校验

校验位的使用方法

如上图所示:9位数据位+有校验(就是8为数据位+1位校验位)

85转换为二进制为:0101 0101 翻转写入是1010 1010

奇校验就是要求数据为中有及数个1,例如上图有四个1,那么校验位就是1,,如果传输校验之后有偶数个1,则是传输出错

偶校验同理

波特率

波特率越高数据传输的越快

USART发送数据

USART模式

参数配置

如上图所示:是Cube MX的配置图

这里选择:115200波特率,8比特数据位,无校验,1位停止位,数据传输方为收发双向

串口1的句柄包含了和串口1相关的所有数据(但是现在不需要理解)了解即可

要通过串口发送数据需要用到下列函数:

代码实现

注意要使用strlen测量字符串长度需要加入下面的头文件:

USART接收数据

需要用到下图函数

这里解释一下第四个参数TImeout:HAL_MAX_DELAY表示超时时间是无限大,如果没有接收到足够数量的数据,就会一直等待下去

代码实现如下:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 20:59:28

2毫米超薄信用卡电脑的硬件设计与实现

1. 项目概述:2毫米厚的信用卡电脑在DIY硬件圈子里,超薄设计一直是个令人着迷的挑战方向。大多数所谓"信用卡大小"的开发板,厚度往往超过1厘米,直到我偶然发现Kn/vD设计的ELLO LC1——这款基于Microchip PIC18 8位MCU的微…

作者头像 李华
网站建设 2026/4/29 20:56:40

Docker AI Toolkit 2026发布即淘汰旧生态?实测发现:2024版镜像在2026运行时触发静默降级,3类关键AI工作流精度偏差超±0.8%——你今天的构建还可信吗?

更多请点击: https://intelliparadigm.com 第一章:Docker AI Toolkit 2026发布即淘汰旧生态?实测发现:2024版镜像在2026运行时触发静默降级,3类关键AI工作流精度偏差超0.8%——你今天的构建还可信吗? Dock…

作者头像 李华
网站建设 2026/4/29 20:54:37

vLLM-v0.17.1保姆级教程:vLLM + Airflow构建定时批量推理工作流

vLLM-v0.17.1保姆级教程:vLLM Airflow构建定时批量推理工作流 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库,以其出色的吞吐量和易用性著称。这个项目最初由加州大学伯克利分校的天空计算实验室开发,现在已经…

作者头像 李华
网站建设 2026/4/29 20:52:49

Redis基础使用

Redis基础使用下载启动数据库操作Redis的应用场景下载 官网下载地址如下: 3.0:http://download.redis.io/releases/redis-3.0.0.tar.gz 4.0:http://download.redis.io/releases/redis-4.0.14.tar.gz 5.0:http://download.redis.i…

作者头像 李华