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 小时前
14单片机:LCD12864
单片机·嵌入式硬件
兴通物联科技8 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉
国科安芯11 小时前
轨道供电韧性:ASP4644四通道降压架构在低轨卫星平台电源管理中的适用性分析
运维·网络·数据库·嵌入式硬件·架构·状态模式·低轨卫星星座
天空'之城14 小时前
单片机基础核心知识点汇总(十七)
单片机·嵌入式硬件
我不管我就要叫小猪14 小时前
STM32——SPI
stm32·单片机·嵌入式硬件
Ryan.F15 小时前
电容(capacitance)
单片机·嵌入式硬件
捷瑞电子工坊15 小时前
深入理解CMSIS内核函数:__disable_irq() 与 __enable_irq()
stm32·嵌入式系统·cmsis·中断控制·临界区保护
夜月yeyue15 小时前
SOME/IP 服务模型
linux·服务器·单片机·安全·车载系统
夜月yeyue15 小时前
SOME/IP-SD 服务发现故障
网络·单片机·网络协议·tcp/ip·安全·服务发现
LCG元16 小时前
【实战】STM32 从零实现 Modbus RTU 从站:寄存器映射、CRC 校验与串口中断解析
stm32·单片机·嵌入式硬件