当我们加入重定向函数后,使用printf仍然没有输出结果,则还需要以下步骤。
int fputc(int ch,FILE *p) //函数默认的 在使用printf函数时自动调用
{
USART_SendData(USART1,(uint8_t)ch); //写一个字节到USART
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
return ch;
}
方法1:
勾选使用微库
方法2:
如果不使用方法1,可以再代码中加入以下代码。
struct __FILE
{
int handle;
};
FILE __stdout;