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

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

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

相关推荐
森焱森2 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
小殷学长4 小时前
【单片机毕业设计17-基于stm32c8t6的智能倒车监测系统】
stm32·单片机·课程设计
TESmart碲视6 小时前
HKS201-M24 大师版 8K60Hz USB 3.0 适用于 2 台 PC 1台显示器 无缝切换 KVM 切换器
单片机·嵌入式硬件·物联网·游戏·计算机外设·电脑·智能硬件
small_wh1te_coder6 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c
花落已飘7 小时前
STM32中实现shell控制台(shell窗口输入实现)
stm32·单片机·嵌入式硬件
花落已飘7 小时前
STM32中实现shell控制台(命令解析实现)
stm32·shell
没有钱的钱仔7 小时前
STM32低功耗模式全面指南
css·stm32·css3
牵牛老人9 小时前
Qt处理USB摄像头开发说明与QtMultimedia与V4L2融合应用
stm32·单片机·qt
宇钶宇夕10 小时前
针对工业触摸屏维修的系统指南和资源获取途径
单片机·嵌入式硬件·自动化
和风化雨11 小时前
stm32的三种开发方式
stm32·单片机·嵌入式硬件