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");

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

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

相关推荐
千語萬言-1 小时前
硬件岗位基础知识
单片机·嵌入式硬件
Z22ZHaoGGGG3 小时前
verilog中数据跨时钟处理方法
单片机·嵌入式硬件·fpga开发·自动化
FanXing_zl4 小时前
基于整数MCU的FOC控制定标策略深度解析
单片机·嵌入式硬件·mcu·算法·定点运算·q15
【云轩】5 小时前
AIoT项目芯片选型指南:在性能、功耗与成本的十字路口
嵌入式硬件
D.....l5 小时前
STM32学习(MCU控制)(NVIC)
stm32
三佛科技-187366133976 小时前
FT8370A/B/C/CD/CP高性能次边同步整流芯片典型电路及管脚定义
stm32·单片机·嵌入式硬件
D.....l6 小时前
STM32学习(MCU控制)(WiFi and MQTT)
stm32·单片机·学习
国科安芯6 小时前
光电传感器领域国产MCU芯片抗辐照技术考量
网络·人工智能·单片机·嵌入式硬件·安全
二进制coder7 小时前
BMC RTC:服务器硬件管理的“时间心脏”与系统协同核心
服务器·单片机·实时音视频
FanXing_zl8 小时前
整数MCU实现FOC控制:深度解析与优化实践
单片机·嵌入式硬件·mcu·浮点运算