问题描述
STM32 开发过程中难免需要使用串口打印一些调试信息,经常会用到printf()函数;
STM32 还不能直接使用printf()函数,需要重定向一下,这里讲解两种配置办法;
该配置基于HAL库
解决方案:
使用微库
配置MDK-keil ,点击魔术棒,Target里面勾选Use MicroLIB
然后重定向printf()函数,修改fputc()函数
# include "stdio.h"
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
不使用微库
不用配置MDK-keil
直接重定向printf()函数
//printf重定向代码,修改其底层fputc
#