重定向:是指用户可以自己重写c的库函数,当连接器检查到用户编写了与C库函数相同名字的函数时,优先采用用户编写的函数,这样用户就可以实现对库的修改了。


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

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

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

第2步:在main.c文件中重定义fput()这个C标准库函数(因为printf()在C标准库函数中实质上是一个宏,要调用到fputc()这个函数);

STM32中关于串口通信的printf()函数重定向问题

第3步:在工程属性的"Target" -> "Code Generation" 选项中勾选"Use MicroLIB";

STM32中关于串口通信的printf()函数重定向问题

方法二:在工程中添加“regtarge.c”文件

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

第2步:在工程中创建一个文件保存为"regtarge.c",然后将其添加到工程中;

STM32中关于串口通信的printf()函数重定向问题

第3步:在main文件中添加定义以下两个函数

STM32中关于串口通信的printf()函数重定向问题

至此完成配置,可以在main.c文件中随意调用printf() 。


转载地址:https://blog.csdn.net/kevinhg/article/details/40016883

相关文章:

  • 2021-11-17
  • 2021-08-25
  • 2021-12-06
  • 2022-02-13
  • 2021-07-18
  • 2021-11-05
  • 2022-12-23
  • 2021-08-16
猜你喜欢
  • 2021-10-31
  • 2021-05-08
  • 2022-12-23
  • 2021-08-07
  • 2021-11-10
  • 2021-07-07
  • 2021-11-09
相关资源
相似解决方案