STM32 HAL库串口使用printf
- 背景
- 配置说明
- 在usart.h中添加
- 在usart.c中添加
- 在工程中选中微库:
- 测试
背景
在我们使用CubeMX生成好STM32 HAL库工程之后,我们想使用printf函数来打印一些信息,配置如下:
配置说明
在usart.h中添加
在usart.h中添加#include "stdio.h"
,位置如下图:
在usart.c中添加
在usart.h中添加如下代码"
struct __FILE
{ int handle;
}; FILE __stdout; int fputc(int ch, FILE *f)
{ while((USART1->SR&0X40)==0);//循环发送,直到发送完毕 USART1->DR = (uint8_t)ch; return ch;
}
位置如下图:
在工程中选中微库:
按如下圈中顺序点击1和2:
测试
在main.c中添加如下代码:
printf("Hello\n\r");HAL_Delay(1000);
位置如下图:
编译烧录之后,打开串口助手,看到如下效果: