1、添加串口重定向代码:
/* USER CODE BEGIN 0 */
#if defined ( __GNUC__ ) && !defined (__clang__)
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#include <stdio.h>
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
/* 实现串口发送一个字节数据的函数 */
//serial_write(&serial1, (uint8_t)ch); //发送一个自己的数据到串口
HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 1000);
return ch;
}
/* USER CODE END 0 */
在stm32CubeIde的重定向函数中会出现中文乱码的问题:
【解决方法】
首先找到任务栏中的project ,左击最底下找到properties。找到c/c++ Build栏中的settings,添加如下设置
应用后重新编译,完美解决: