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

STM32外设介绍3:(UART 和 USART 通信详解<含重定向与 DMA>)

STM32外设介绍3:(UART 和 USART 通信详解<含重定向与 DMA>)

串口通信(UART/USART)是 STM32 最常用的外设之一,适用于打印调试、模块通信、传感器数据读取等。STM32 的 USART 支持异步(UART)和同步通信,配置灵活,功能强大。

本文将介绍:

  • UART/USART 基础概念与区别
  • 常用 HAL 串口收发方法
  • printf 串口重定向方法
  • 串口 DMA 发送/接收配置与代码

📌 一、UART 与 USART 的区别

项目UARTUSART
全称Universal Asynchronous Receiver/TransmitterUniversal Synchronous/Asynchronous Receiver/Transmitter
是否支持同步通信
支持异步通信
STM32 中表现通过配置 USART 实现 UART 功能更强大,支持 SPI 风格同步通信

💡 在 STM32F1 中,USART1/2/3 均可配置为 UART(异步模式)。


⚙️ 二、CubeMX 串口配置(USART1 为例)

  1. 选择 USART1,模式设为 Asynchronous
  2. 设置 TX(如 PA9),RX(如 PA10)
  3. 设置波特率为 115200
  4. 开启 USART1 Global Interrupt(如需中断)
  5. 可勾选 Enable DMA(如需 DMA 传输)
  6. 生成代码后,得到 MX_USART1_UART_Init()huart1 句柄
    在这里插入图片描述

🧩 三、常用串口通信方法(HAL)

1. 发送字符串(阻塞模式)

char msg[
http://www.xdnf.cn/news/15504.html

相关文章:

  • 大端序与小端序
  • 【机器学习】数据理解:数据导入、数据审查与数据可视化
  • 2.库操作
  • 自动驾驶激光3D点云处理系统性阐述及Open3D库函数应用
  • 百炼Agent MCP与IoT实战(二):阿里云MQTT Broker配置
  • 控制Vue对话框显示隐藏
  • fastadmin会员单点登录
  • python的慈善捐赠平台管理信息系统
  • MyBatis详解以及在IDEA中的开发
  • 数据结构与算法学习(一)
  • 个人笔记(linux/tr命令)
  • LVS:高性能负载均衡利器
  • Java的Gradle项目,使用SLF4J+Log4j2+log4j2.xml
  • C++ 计数排序、归并排序、快速排序
  • Elasticsearch+Logstash+Filebeat+Kibana部署
  • xss作业
  • uniapp
  • 2025秋招突围战:AI智能监考如何重构远程笔试公平防线?
  • 深入解析 AWS RDS Proxy
  • 达梦数据库配置兼容MySQL
  • 从 “洗澡难” 到 “洗得爽”:便携智能洗浴机如何重塑生活?
  • Vue 结合 Zabbix API 获取服务器 CPU、内存、GPU 等数据
  • LabVIEW Occurrence功能
  • go项目实战
  • 高频面试雷区:Java Object六大核心方法源码剖析
  • Linux Ubuntu apt包管理器安装K8s1.30.1+Ingress-Nginx
  • fastadmin中ajax弹窗修改文字为英文
  • AJAX 技术
  • MinIO介绍以及结合SpringBoot的应用场景详解
  • 数据降维方法:PCA