news 2026/10/11 1:00:59

STM32CubeMx开发之路—3发送USART数据和printf重定向

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32CubeMx开发之路—3发送USART数据和printf重定向

STM32CubeMx开发之路—3发送USART数据和printf重定向


运行环境

工具版本说明
STM32CubeMXV5.0.0建议相同
Keil5V5.1.5建议相同

简介

本例程主要讲解如何通过串口发送数据和重定向printf


STM32CubeMx基本配置

基础配置过程请参考 STM32CubeMx(Keil5)开发之路—1配置第一个项目


STM32CubeMx USART1配置

  • 点击USART1进行设置
  • 模式选择Asynchronous异步传输
  • 可以看到右边自动出现了Tx和Rx
  • 可以自行设置波特率,停止位,校验位等参数

代码修改

  • 选择main.c文件
  • 在 USER CODE 中添加如下代码,重定向printf()
  • 如果报错的话加上头文件的引用#include "stdio.h"
intfputc(intch,FILE*f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xFFFF);returnch;}


  • 加上头文件的引用#include "stdio.h"


在主循环中添加如下代码

intnum=99;chartx_buf[]={"HelloWorld!"};printf("\nnum = %d\n",num);HAL_Delay(1000);HAL_UART_Transmit(&huart1,(unsignedchar*)tx_buf,11,10);HAL_Delay(1000);



常见问题

  • 需要勾选上Use Micro LIB


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

冷库库位怎么规划?拣货动线和出货口对应方法

冷库库位怎么规划?拣货动线和出货口对应方法冷库的库位规划不好,表面上看是拣货慢,实际背后是一连串问题:拣货员在库里来回跑,冷库门开得久、温度受影响,爆品塞在最里面,出货口前堵成一团。冷库…

作者头像 李华
网站建设 2026/10/11 1:00:54

QT中实现定时器

1.在QTcreator中实现定时器功能,主要是了解QTimer类的使用,这个给出一个例子,实现时间的刷新,以秒为单位。 主要有3个文件,分别是 1).main.cpp 2).mainwindow.cpp3).mainwindow.h2.贴代码 1).mian.cpp代码如下&#x…

作者头像 李华
网站建设 2026/10/11 0:58:31

Java SPI机制详解:从ServiceLoader到框架扩展原理

参加Java面试时,如果对方问“你们怎么实现接口扩展”或者“框架为什么能自动加载实现类”,八成是想考察SPI机制。SPI全称Service Provider Interface,简单说就是Java原生的“插槽式”扩展机制:你定义一个接口,别人可以…

作者头像 李华
网站建设 2026/10/11 0:57:34

U2Net证件照抠图实战:发丝级人像分割与白底合成

简介:本资源是一套基于Python与U2Net模型的轻量级证件照智能生成解决方案,面向深度学习初学者、计算机视觉实践者及图像处理开发者,解决日常证件照背景替换、人像精准抠图与标准化输出等实际需求。压缩包共18个文件,含5个核心Pyth…

作者头像 李华
网站建设 2026/10/11 0:54:00

Vue的computed属性居然还能这么坑?

上周线上环境突然报警,一个高频使用的订单汇总页面出现数据错乱。定位后发现,竟是 Vue 的 computed 属性在响应式依赖更新时出现「短路」现象——这个看似人畜无害的特性,在特定场景下会悄悄埋下定时炸弹。今天掏心窝子聊聊这个深坑&#xff…

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

基于SpringBoot的社区疫情志愿者管理系统设计与实现

看到这个标题,我第一反应就是:这个题目把毕设里最稳的几样东西全凑齐了——Java、Web、SpringBoot,业务上又踩中了“社区疫情志愿者管理”这个非常典型的现实场景。去年我帮几个学弟梳理过同类型的项目,坦白讲,这类系统…

作者头像 李华