1、简介
在HAL库中,常用的printf函数是无法使用的。本文通过重映射实现在HAL库中进行printf函数。
2.1 基础配置
2.1.1 SYS配置
2.1.2 RCC配置
2.2 串口外设配置
2.3 项目生成
3、KEIL端程序整合
在usart.c函数最下方复制如下代码
#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中分别调用如下头文件。
#include "stdio.h"
最后设置如下
4、效果测试
在主函数中进行打印测试,代码如下
printf("s");
串口调试助手显示如下图所示:
上文如有错误,恳请各位大佬指正。