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

物联沃分享整理
物联沃-IOTWORD物联网 » Keil5中printf()函数的STM32 UART串口输出技巧

发表回复