stm32(HAL库)使用printf函数打印到串口

目录

1、简介

[2.1 基础配置](#2.1 基础配置)

[2.1.1 SYS配置](#2.1.1 SYS配置)

[2.1.2 RCC配置](#2.1.2 RCC配置)

[2.2 串口外设配置](#2.2 串口外设配置)

[2.3 项目生成](#2.3 项目生成)

3、KEIL端程序整合

4、效果测试

1、简介

在HAL库中,常用的printf函数是无法使用的。本文通过重映射实现在HAL库中进行printf函数。

2.1 基础配置

2.1.1 SYS配置

2.1.2 RCC配置

2.2 串口外设配置

2.3 项目生成

3、KEIL端程序整合

在usart.c函数最下方复制如下代码

cpp 复制代码
#ifdef __GNUC__
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
  HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF);//阻塞方式打印
  return ch;
}

接着在usart.h、main.h中分别调用如下头文件。

cpp 复制代码
#include "stdio.h"

最后设置如下

4、效果测试

在主函数中进行打印测试,代码如下

cpp 复制代码
printf("s");

串口调试助手显示如下图所示:

上文如有错误,恳请各位大佬指正。

相关推荐
不做无法实现的梦~8 小时前
常见工程分析软件
stm32·嵌入式硬件·算法
国产电子元器件9 小时前
电流检测信号漂移问题分析
单片机·嵌入式硬件
YangWeiminPHD9 小时前
单片机AI边缘计算发展之路:从M0的开局到三足鼎立的智能革命
人工智能·单片机·边缘计算
梁朝辉9 小时前
筛选运算放大器时对于开环增益这一项参数怎么看?
嵌入式硬件·硬件工程
Sean_VIP10 小时前
FreeRTOS项目程序框架介绍(五)
笔记·stm32
zlinear数据采集卡10 小时前
单点接地设计电路深度解析:从理论原理到ZLinear采集卡的低噪声实战
c语言·单片机·嵌入式硬件·fpga开发
嵌入式小站10 小时前
STM32 零基础可移植教程 15:ADC 多通道扫描,读取三路 PWM 的平均电压
stm32·单片机·嵌入式硬件
踏着七彩祥云的小丑10 小时前
嵌入式测试学习第 26 天:SPI通信协议基础、主从模式、速度特点
单片机·嵌入式硬件
湉湉家的小虎子10 小时前
【科普贴】浅谈UFS接口——偏硬件解析
驱动开发·嵌入式硬件·fpga开发·硬件工程
hai31524754311 小时前
# FiveOS V5.0 交付(终极合成器版 · 物理合规修正)
人工智能·stm32·单片机·嵌入式硬件·神经网络