07 printf重定向

Posted haichuangdianzi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07 printf重定向相关的知识,希望对你有一定的参考价值。

在上个实验的基础上进行修改,直接打开keil工程,先软件进行配置。
在这里插入图片描述

  • 打开“USART.c”文件,添加“#include<stdio.h>”头文件。
    在这里插入图片描述
  • 在这个文件最后添加如下程序。
/* USER CODE BEGIN 1 */
int fputc(int ch, FILE *stream)
{     
    HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);
    return ch;
}
/* USER CODE END 1 */

  • 准备工作完成后回到主函数,再次添加“#include<stdio.h>”头文件。
    在这里插入图片描述
  • 在while程序中完成代码。
  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
	  printf("Hello World! \\r\\n");
	  HAL_Delay(1000);
  }
  /* USER CODE END 3 */

最后输出结果。
在这里插入图片描述
注:很多地方讲 \\n 可以换行,但是实测不行,而是通过 \\r\\n 来实现。

以上是关于07 printf重定向的主要内容,如果未能解决你的问题,请参考以下文章

如何在 STM32F10x 上重定向 printf()?

将 printf 重定向到 UART 时,输出行呈阶梯状

STM32串口printf()重定向问题

STM32 Cubemx Printf重定向

301重定向没有片段[重复]

Jsp获取Java的重定向赋值(String)