嵌入式 > 嵌入式开发 > 详情

STM32单片机编程printf()函数重定向

发布时间:2025-08-18 发布时间:
|

在stm32单片机编程中,可以重定向printf()函数来输出调试信息。

  1. 编写fputc()函数
  2. 其实printf()函数在头文件中被定义成了一个宏,会调用到fputc()函数,但在stm32单片机编程中不可以直接调用标准库的fputc()函数进行输出信息,需要自己编写fputc()函数供printf()函数来调用。编译器进行编译时首先会调用自己编写的fputc()函数,而不是库函数。

intfputc(int ch,FILE*f)

{

USART_SendData(USART1, (uint16_t)ch); //通过串口输出

while(USART_GetFlagStatus(USART1, USART_FLAG_TC) !=SET);//等待输出完毕

return ch;

}

此时假定串口1即USART1可以正常通讯,fputc()函数的作用就是把printf()函数重定向到串口1上输出信息。

  1. 配置
  2. 自己动手写好fputc()后,要在文件中包含stdio.h文件。#include在MDK软件界面单击Target options…按钮,在Code Genetation一栏中选择 Use MicroLIB选项,即完成了配置,此时printf()函数一定重定向到了串口1即USART1上,可以正常使用printf()函数。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
内部脉宽调制OC0输出实验