STM32基于HAL库使用printf导致程序卡死解决方案

首先引入stdio

#include "stdio.h"

然后重写fputc方法即可使用printf进行串口输出字符串

/* USER CODE BEGIN 4 */
int fputc(int ch,FILE *f)
{
   HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF); // hurat1
   return ch;
}
/* USER CODE END 4 */

如果编译烧录程序后发现printf时卡死,导致程序无法正常运行,则需要在Options for Target菜单的Target选项卡中勾选Use MicroLIB,重新编译烧录即可解决此问题。

添加新评论

评论列表