news 2026/10/22 7:27:17

STM32学习(十)—— 串口通信

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32学习(十)—— 串口通信

一、串口通信的概念

1. 通信的概念

通信指的是CPU和外部设备之间或者计算机与计算机之间的数据交互

2. 通信的种类

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

①. 串行通信

传输原理:数据按位依次顺序传输(每一位都占据固定的时间长度)

优点:节约引脚资源(最少一根线)、传输成本低、传输距离远

缺点:传输速度慢

应用领域:一般用于工控设备、测量设备、少部分通信设备

②. 并行通信

传输原理:数据各个位同时进行传输(以字节或者字节的倍数进行传输)

优点:传输速度快

缺点:占用引脚资源、传输成本高、传输距离近、抗干扰能力弱(串扰)

应用领域:一般大量数据传输,并且传输距离较近,如计算机总线

3. 串行通信的分类

① 如果按照数据的传送方向,可以分为三种

单工:数据只允许在一个方向上传输,如收音机、无线电台

半双工:数据允许在两个方向上传输,但是同一时刻只允许在一个方向上传输,如对讲机

全双工:数据允许同时在两个方向上传输,可以理解位两个单工通信的结合,如移动电话

② 如果按照数据的同步方式,可以分为两种

同步通信:带时钟同步信号,如IIC接口或者SPI接口都属于同步通信,要求通信双方必须使用同一个时钟,相当于发送数据的同时接收数据,同步通信属于连续串行传输数据,一次只传输一帧数据,相比于异步通信而言,传输效率更高,缺点是时钟必须一致。

异步通信:不带时钟同步信号,如UART接口属于异步通信,要求通信双方具有发送端和接收端,由于不要求时钟同步,所以在通信的时候,通信双方必须提前约定好通信格式(字符格式)以及通信速率,异步通信以字符为单位进行传输,在传输一个字符的时候会添加起始位和停止位,通过起始位以及停止位来达到同步的功能。

4. 串行接口的意义

串口是把数据按位顺序传输,但是计算机在通信的时候采用的并行通信的方式,在硬件设备与计算机进行通信的时候涉及到串转并、并转串,实现方式有两种,软件实现+硬件实现,如果采用软件实现会增加CPU的负担,一般都是采用硬件实现(增加串口)。

一般串口分为9针串口(DB-9)以及25针串口(DB-25),现在一般都是采用DB-9串口通信,分别分为公头和母头。

可以看到,一般9针串口在通信的时候,只会用到3个引脚(TXD、RXD、GND),其他的引脚一般用于握手。

硬件设备和计算机在通信的时候,需要用到电气转换芯片(如MAX232),因为硬件平台一般采用TTL电平信号(采用正逻辑电平,+5V等价于逻辑1,0V等价于逻辑0),但是计算机采用RS232电平信号(采用负逻辑电平,-15~3V表示逻辑1,+3V~+15V表示逻辑0)。

5. 开发平台和计算机的接口说明

一般现在的计算机(笔记本电脑)和硬件设备(STM32)都不集成DB-9或者DB-25接口,提供了另外一种方案来实现数据交互,就是利用USB口和开发板的串口(4针的拓展串口)进行通信(利用USB转串口),就必须在STM32开发板集成USB转串口芯片(CH340G)。

二、串口通信的参数

USART或者UART都是全双工异步通信,由于不需要时钟同步,所以就必须要求通信双方要约定字符格式和通信速率。

1. 字符格式

字符格式一般是采用字符帧的形式进行传输,字符帧由起始位、数据位、校验位、停止位组成,具体的说明可以参考STM32中午参考手册的26.3.1章节。

① 起始位:指的是一帧数据的开始,规定位1bit的低电平

② 数据位:指的是有效的信息,可以位7bit(标准ASCII码)或者8bit(拓展ASCII码)。

③ 校验位:指的是对于数据位的简单校验,可以确保数据正常发送,也可以避免噪声的影响,校验分为奇校验、偶校验,校验位也只占1bit。一般不使用校验位。

④ 停止位:指的是一帧数据传输完成停止位一般选择1bit,规定为高电平

2. 通信速率

通信速率指的是单位时间内传输的有效的二进制数的个数,也被称为波特率,单位为bps。常用的波特率有9600bps、115200bps。可以根据实际需求进行修改。

三、串口通信的流程

对于 STM32F407 芯片而言,一共提供了6个串口,包括4个 USART 和2个 UART,USART指的是通用同步异步收发器,而UART指的是通用异步收发器,相比于USART而言,UART裁剪掉同步功能,一般平时在使用串口的时候都是使用异步通信。

代码编写流程

(1) USART_BaudRate指的是通信波特率常用 9600bps 115200bps

(2) USART_WordLength指的是数据位常用 8bit低位先出


(3) USART_StopBits指的是停止位常用 1bit

(4) USART_Parity指的是校验位常用无校验


(5) USART_Mode指的是串口模式,常用收发模式

(6) USART_HardwareFlowControl指的是硬件流控制常用无

编写中断服务函数,一般需要提前设置好串口中断的触发条件,一般触发条件都会设置为接收到数据就发生中断。

ST公司提供了一个函数可以设置串口中断源,调用USART_ITConfig()函数

一般在中断服务函数中需要检测中断是否发生(检测中断状态)以及清除中断状态即可。

发送数据

接收数据(需要在中断服务函数中调用该函数来接收数据)

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

长输供热管网智能调度落地拆解:在线水力仿真 + 数字孪生 + 多站协联

长输供热管网智能调度落地拆解:在线水力仿真 数字孪生 多站协联面向工程与技术实施视角:一套长输调度系统在真实管网上要跑起来,技术栈怎么分层、数据治理要做哪些事、约束怎么内置、失效怎么回退,以及现场评估该问哪些问题。1.…

作者头像 李华
网站建设 2026/10/22 7:25:44

【Linux】权限的详细讲解

一、Linux 权限的概念 1.1 用户分类 Linux 下有两种用户:超级用户(root)与普通用户。 超级用户:可以在 Linux 系统下做任何事情,几乎不受权限的限制;普通用户:在 Linux 下做权限范围内的事情&am…

作者头像 李华
网站建设 2026/10/22 7:25:33

YOLOv11在新能源农机电机壳体密封性缺陷检测中的应用:mAP50达到97.5%

一、一个被低估的产线难题:密封性缺陷为什么“看不见” 新能源农机电机壳体的密封性,直接决定电机在泥水、粉尘、高频振动环境下的寿命。传统检测依赖保压测试或人工目检:保压测试只能给出“合格/泄漏”的二元结论,无法定位缺陷位置与类型;人工目检则在高速产线上几乎不可…

作者头像 李华
网站建设 2026/10/22 7:25:32

尚硅谷无人机学习笔记

尚硅谷无人机学习笔记11.无人机如何飞行1.1无人机姿态角1.2无人机结构1.3旋转方向和气流方向的关系2.动力系统电机介绍2.1定高2.2电机3.电源系统4.飞控和通信5.遥控器6.PID7. 总结1.无人机如何飞行 1.1无人机姿态角 简单记为:俯仰管前后,横滚管左右&…

作者头像 李华
网站建设 2026/10/22 7:25:05

X、Y 电容都属于安规电容

X电容 & Y电容 图文讲解(安规电容)X、Y电容都属于安规电容,专门用在交流电源输入端(EMI滤波),就算电容击穿失效,也不会产生触电危险,和普通瓷片电容不一样。✅ X电容 安装位置&a…

作者头像 李华
网站建设 2026/10/22 7:19:59

Ice:快速收纳 macOS 菜单栏图标的指南

Ice:快速收纳 macOS 菜单栏图标的指南 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 你的 Mac 菜单栏塞满了二十多个图标,还有几个被刘海挡住一半。Ice 是一款开源的菜单栏图…

作者头像 李华