本帖最后由 techff 于 2020-3-31 11:21 编辑

在STM32串口通信程序中使用printf()函数发送数据非常方便,但是需要先进行简单的配置,下面介绍三种配置方法。

方法一、对工程属性进行配置

第1步:在main.c中包含"stdio.h” (标准输入输出头文件);

第2步:在main.c文件中重定义fput()这个C标准库函数(因为printf()在C标准库函数中实质上是一个宏,要调用到fputc()这个函数);
1.jpg
第3步:在工程属性的"Target" -> "Code Generation" 选项中勾选"Use MicroLIB";
2.jpg
方法二:在工程中添加“regtarge.c”文件

第1步:在main.c文件中包含"stdio.h”文件;

第2步:在工程中创建一个文件保存为"regtarge.c",然后将其添加到工程中;
3.jpg
第3步:在main文件中添加定义以下两个函数
4.jpg
至此完成配置,可以在main.c文件中随意调用printf() 。

方法三:此方法基于方法二之上,如果你安装了MDK的话,是不需要自己写"regtarge.c"这个文件的,在C:\Program Files\MDK\ARM\Startup 下面有一个文件就是。直接复制过去就行。

本文转自网络。