STM32CubeIDE用printf打印中文
首先在 usart.c 文件里加上重定义部分代码,我用的是串口3所以为huart3
/* USER CODE BEGIN 0 */
#include “stdio.h”
#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(&huart3, (uint8_t*)&ch,1,HAL_MAX_DELAY);
return ch;
}
/* USER CODE END 0 */
加进去后打印中文会乱码,则需要修改编码方式,鼠标点击项目按下右键,然后选择Properties(属性),然后进行如下修改:
如果在下拉列表里找不到 GBK,可以直接键盘输入。