前言
利用Clion对STM32进行编程实现printf重定向及注意事项。
一、使用步骤
1.创建工程,选择STM32F407芯片,设置外部高速晶振
2.配置时钟树
3.选择USART1异步通信模式,其余默认
4.选择工具链,因为用到Clion开发(Clion开发STM32需要配置),所以选择SW4STM32
5.生成代码,打开文件夹,选择用Clion打开
6.在usart.c文件底部输入代码(同样适用于keil5中V5编译器)
#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(&huart1, (uint8_t *) &ch, 1, 0xFFFF);
return ch;
}
7.在usart.h文件引入头文件
#include <stdio.h>
8.在main.c文件下while(1)循环体中输入测试代码
注意事项,在Clion中printf中必须加上\r\n,否则没有输出,keil中不加有输出
static float i = 3.14;
printf("你好\r\n");
printf("%.1f\r\n", i);
HAL_Delay(500);
9.编译生成HEX文件下载进开发板,打开串口助手发现中文乱码
10.进入设置将Clion的UTF-8字符型改为GBK
10.编译下载HEX文件到开发板,中文乱码变为正常
总结
利用Clion进行STM32的编程有许多问题是需要注意的。