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

目录

1、简介

2.1 基础配置

2.1.1 SYS配置

 2.1.2 RCC配置

2.2 串口外设配置

 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函数最下方复制如下代码

stm32(HAL库)使用printf函数打印到串口_第1张图片

#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"

stm32(HAL库)使用printf函数打印到串口_第2张图片

stm32(HAL库)使用printf函数打印到串口_第3张图片

最后设置如下

stm32(HAL库)使用printf函数打印到串口_第4张图片

  4、效果测试

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

stm32(HAL库)使用printf函数打印到串口_第5张图片

printf("s");

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

stm32(HAL库)使用printf函数打印到串口_第6张图片

 

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

你可能感兴趣的:(嵌入式小项目,stm32,单片机,嵌入式硬件)