当前位置: 首页 > news >正文

野火STM32_HAL库版课程笔记-串口发送之发送字节

通信

串口通讯协议

串口通讯 (Serial Communication) 是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。

在计算机科学里,大部分复杂的问题都可以通过分层来简化。

如芯片被分为内核层和片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。

'物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。

协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。

物理层

5V TTL : 通过电平高低区分 0 和 1

RS-232 : 通过电平正负区分 0 和 1

协议层

T 代表 Transmit (发送)

R 代表 Receive (接收)

起始位

有效数据

数据校验

核心板原理图

通常两个设备需要两根线就能够进行通讯 (发送数据 和 接收数据)

而该开发板可以通过 USB 线直接与串口进行通讯, 是因为使用了串口芯片, 通过 CH340, 转化为串口能够理解的数据. (即 RXD 和 TXD)

这两个引脚又通过跳帽连接到了设置启动模式中的 PA9 和 PA10.

左侧为单片机, 右侧为 PC

因为 TX 与 RX 交叉对应, 故PA9 为 TX,PA10 为 RX.

STM32 波特率

波特率越高, 数据传输速率越快.

两个设备想要能够正常通讯, 两者的波特率要设置一致.

项目配置

USART 引脚配置

配置 PA9 和 PA10 分别为 USART_TX 和 USART_RX

需要通过Connectivity - USART1Mode选择为Asynchronous(异步)

此时就可以看到右侧引脚图中 PA9 和 PA10 被使用绿色背景标记

如果直接点击 PA9 和 PA10 选择两个引脚为 USART1_XX

其是使用同步模式的, 两个引脚会被使用黄色背景标记

但是我们目前并不使用同步模式进行串口通讯, 所以按照上面的异步配置方式

Basic Parameters: (基本参数)

Baud Rate (波特率)

Word Length (数据位)

Parity (奇偶校验)

Stop Bits (停止位)

Advanced Parameters: (高级参数)

Data Direction (数据方向, 有三种: 发送接收, 只接受, 只发送)

Over Sampling (过采样)

这些参数默认即可

代码部分

HAL_UART_Transmit 函数

/* USER CODE BEGIN 2 */ uint8_t ch = 'F'; // 要发送的字节 /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { HAL_UART_Transmit(&huart1, &ch, 1, HAL_MAX_DELAY); // 发送一个字节数据 HAL_Delay(1000); // 延迟1000ms, 便于观察串口助手接收现象 /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ }

程序现象

需要注意, 因为用到串口, 所以除了 DAP 调试器呢条线还需要再连一条 USB 线 (USB 转串口) .

可以看到, 单片机一直在通过串口发送字符 'F'

附: 野火多功能调试助手显示窗口较大如何改小

右键 fireTools.exe , 选择属性, 点击更改高 DPI 设置

勾选 替代高 DPI 缩放行为, 缩放执行 选择 系统.

确定保存后, 重新运行窗口大小恢复正常

http://www.jsqmd.com/news/457817/

相关文章:

  • PAT 乙级 1017
  • 矽塔科技 SA8311 2.5-10.0V/2.0A 单通道 H 桥电机驱动器 SOP8 技术解析
  • 2026夸克网盘扩容1 TB最新教程 必得1024GB~
  • 【系统分析师】11.1 软件需求
  • PTA 实验7-2-6 打印杨辉三角
  • 苍穹外卖学习day01:项目概述与环境搭建
  • 语言太“标准”反被疑?百考通注入人类写作特征,自然过检
  • 用户的精细化运营
  • 国自然申报最后10天!AI救了我的申请书,写审改一条龙太香了
  • 人工智能之语言领域 自然语言处理 第六章 情感分析
  • c++小知识点
  • 最新版国产龙虾(CoPaw0.0.5.Post1)windows10一键安装成功,用ollama选本地部署的大模型,成功使用!
  • 企业效率工具盘点:基于DeepMiner的可信智能体,人机协同新选择
  • JavaScript入门指南:从基础到实战
  • 2026年智能驾驶模拟器价格大揭秘,教你如何选到高性价比产品 - 工业品网
  • Visual Studio 2022 安装失败:无法安装 Microsoft.Net.4.8.FullRedist.20H2 解决
  • JAVA无人棋牌室源码实现方案
  • Java基础面试题拷打(2)
  • Redis基础
  • 中转API选择,五大平台哪个更适合你
  • OpenClaw 多会话配置说明
  • 【算法面试必刷】160. 相交链表
  • Flutter 组件 colorize_lumberdash 适配鸿蒙 HarmonyOS 实战:色彩化日志调试,构建直观的异常检测矩阵
  • 基于大数据+Hadoop+深度学习的经典名著推荐系统设计与开发(源码+精品论文+答辩PPT等资料)
  • 预应力塑料波纹管用途
  • DeekSeek 3.2和Qwen 3.5生成的求解24点程序对比
  • 移远通信 × 圆周率科技:PanoX V5全新亮相,将全景影像能力“装进”日常生活
  • Flutter 组件 geohash_plus 适配鸿蒙 HarmonyOS 实战:高维地理降维,构建纳秒级时空索引矩阵
  • Spring Boot隐式参数注入:代码优雅升级指南
  • linux关键指令无废话