之前跑马灯的时候已经生成过了一次keil工程,不过只是简单地编译下载,这次来仔细看一下工程中都有什么。
顺便体验一下快捷的串口设置。
与之前类似,这次需要配置一下串口
模式就用异步,毕竟我们懒得提供额外的同步时钟。
波特率115200,字长8位。
ok,闲话不多说,打开keil!
认识keil工程
2025年08月10日
之前跑马灯的时候已经生成过了一次keil工程,不过只是简单地编译下载,这次来仔细看一下工程中都有什么。
顺便体验一下快捷的串口设置。
与之前类似,这次需要配置一下串口
模式就用异步,毕竟我们懒得提供额外的同步时钟。
波特率115200,字长8位。
ok,闲话不多说,打开keil!
认识keil工程
2025年08月10日
串口是一种通信方式,这个我不陌生。STM32的串口配置也算是比较简单的,但我为了代码的通用,自己采用了一种比较啰嗦的方式。原因我总结一下:
1. STM32有个IO口的重映射功能,正常情况下串口的IO口是PA9和PA10,特殊情况下可以映射为 PB6和PB7,这就出现一个问题,你第一个项目串口初始化的是PA9和PA10,另一个项目可能 进行了重映射,需要配置PB6和PB7,你这个串口初始化函数就要改,当然改一下也不麻烦,但 对于强迫症的我仍然不想去改函数,所以我定义了两个几个额外的参数,通过预编译的方式让 其自动判断是否进行了重映射。如下
2025年08月10日
| 串口是一种全双工通讯方式
数据传输只支持数据在一个方向上传输
允许数据在两个方向上传输,在同一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信
2025年08月10日
STM32 微控制器系列提供了多个串口模块,用于实现串口通讯。其中,STM32HAL 库中的 UART 驱动模块提供了一套方便易用的函数接口,可以用来配置和操作串口。
串口通讯是一种常见的数据传输方式,可以实现微控制器与外部设备或其他微控制器之间的数据交互。在 STM32 中,串口通讯一般使用 UART(通用异步收发器)模块来实现。UART 是一种常见的串行通信接口,通过一个引脚对数据进行传输,同时还可以通过其他引脚进行数据的同步和通信控制。
2025年08月10日
在嵌入式系统开发中,串口通信(UART)是最常用的基础通信方式之一。为了解决串口数据读写的不连续性问题,通常会配合环形缓冲区使用,以实现高效、稳定的数据收发缓存管理。
本文介绍一个基于 STM32F4 系列 MCU 编写的串口通信驱动,采用中断方式配合发送/接收缓冲区,并封装为控制台接口,便于在系统中调用。
2025年08月10日
前面几章介绍了 STM32 的 IO 口操作及中断。这一章我们将学习 STM32 的串口,教大家如何使用 STM32 的串口来发送和接收数据。本章将实现如下功能:STM32 通过串口和上位机的对话,STM32 在收到上位机发过来的字符串后,进行加 1 返回给上位机显示。 本章分为以下学习目标:
2025年08月10日
在嵌入式系统开发中,串口(UART)是最基础也是最常用的通信方式之一。无论是用于调试信息的打印、与外设通信,还是与主控模块的数据交互,一个稳定可靠、结构清晰的串口通信模块都是不可或缺的。
介绍一个基于 STM32F4 系列微控制器实现的串口通信模块,该模块采用环形缓冲区结构,并结合中断机制,实现了非阻塞、缓存式的数据收发。整体设计思路清晰、逻辑模块化,适合在嵌入式项目中直接复用。
2025年08月10日
一、实验思路
连接两个STM32单片机的串口引脚,单片机A进行发送,单片机B进行接收。单片机B根据接收到单片机A的指令来点亮或熄灭板载LED灯,通过实验现象来验证是否通讯成功。
二、实验器材
两套STM32F103C8T6单片机开发板、ST-Link下载器、杜邦线。
三、实验步骤
3.1 配置单片机基本参数
使用STM32CubeIDE进行配置两个单片机的时钟信息、引脚状态、串口信息、中断等基本参数。两单片机均采用串口1进行通讯,对应串口引脚均为PA9(发送引脚)、PA10(接收引脚);单片机B的GPIOC 13引脚设置为输出状态,以控制开发板LED的亮灭。具体配置如下图:
2025年08月10日
一.数据通信方式
1.串行与并行通信
按数据传送的方式,通讯可分为串行通讯与并行通讯。
串行通讯:是指设备之间通过一根数据信号线,地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,同一时刻只能传输一位(bit)数据。
并行通讯:是指使用 8、16、32 及 64 根或更多的数据线(有多少信号为就需要多少信号位)进行传输的通讯方式,可以同一时刻传输多个数据位的数据。