对fputs函数的理解
(重定向:重写库函数,对原函数进行覆盖,编译时优先调用重定向的用户函数)
fputc()默认是把字符输出到调试器控制窗口,要把数据通过USART输出到串口助手,需对基于fputc()的printf()系列函数的输出都重定向到USART端口上去;要想使用USART功能,需重定向fputc()函数
具体操作
1、先要包含头文件 "#include <stdio.h>"
2、在usart.c文件里面重定向fputc,覆盖掉原来的定义
在usart.c里面
int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (uint8_t)ch); //将字符强制转换为无符号整型
while(USART_GetFlagStatus(USARTx,USART_FLAG_TXE)==RESET); //检测
return ch;
}
3、在状态栏魔术棒中,打开选项,Target,选上“调用库函数”Use MicroLIB
4、直接在main函数中,使用printf()输出字符串