Keil5中printf()函数的STM32 UART串口输出技巧
目录
一.Printf函数重映射
二、sprintf函数格式化输出
三、中文乱码
一.Printf函数重映射
1、点击“魔术棒”
或者
2、点击“Target”,勾选“use MicroLIB”,前的对钩,点击“OK”,完成设置。
3、在头文件中添加#include <stdio.h>,同时对printf()函数重定向。
【注】由于printf()函数是向屏幕打印信息,但是STM32单片机没有屏幕,故需fputc()函数重定向到串口,那么printf()函数就可输出到串口,借助串口助手显示打印信息。
二、sprintf函数格式化输出
方法一:sprintf函数可以把格式化字符输出到一个字符串,不涉及重定向,每个串口都可以用sprintf函数格式化打印。
缺点:打出的字符是固定的不利于后期移植
方法二:为了解决以上缺点,对sprintf()函数封装。
1、添加头文件
2、封装printf()函数
三、中文乱码
方法一:在Misc Controls中 填写 –no-multibyte-chars,同时编码格式在keil中和串口助手中都选择UTF-8格式。printf("你好,世界");
方法二:编码格式在keil中和串口助手中都选择GBK格式。在Misc Controls中不用添加参数。
作者:ADC654