STM32CubeMX重定向printf输出至串口

第一步,CubeMX配置串口(GPIO配置略)

image-20220113161902135

第二步,包含头文件

1
#include <stdio.h>

第三步,勾选Use Microlib

image-20220113161451008

第四步,重定向printf,此处需要将huart2改为上面配置的串口

1
2
3
4
5
int fputc(int c, FILE *stream)
{
HAL_UART_Transmit(&huart2, (unsigned char *)&c, 1, 1000);
return 1;
}

此时即可使用

1
printf("%d\r\n",num);

代替

1
2
buf_len = sprintf(buf, "%d\r\n",num);
HAL_UART_Transmit(&huart2, (uint8_t *)buf, buf_len, 100);