一、调用头文件
调用头文件,如图1所示。
![](https://img-blog.csdnimg.cn/img_convert/b47653ce2226643f98b36fac3fc40ea5.png)
图1.添加头文件
#include <stdio.h>
二、函数重定义
在main()函数之前添加重定义函数,如图2所示。
![](https://img-blog.csdnimg.cn/img_convert/2bf81b6259fd7f8d3d8a31f5d0348aa6.png)
图2.重定义函数
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
return ch;
}
三、输出
主函数中可直接使用printf()函数进行输出,建议在语句末尾加上换行符\n,否则会有可能出现发送卡顿的情况,这是因为缓冲区的数据到达1KB或者遇到换行符时,缓冲区才会刷新。
printf("Hello World\n\r");
HAL_Delay(500);
四、实验结果
预期结果:每隔500ms发送一次“Hello World”;
实际结果:每隔500ms发送一次“Hello World”。
![](https://img-blog.csdnimg.cn/img_convert/c030794e507f2c4bce84ada8dae33b25.png)