重定向printf到串口
- 首先改写fputc()和fgetc()函数
//重定向c库printf函数到串口
int fputc(int ch, FILE *f)
{
//发送一个字节
USART_SendData(DEBUG_USART, (uint8_t)ch);
//等待发送完成
while(USART_GetFlagStatus(DEBUG_USART,USART_FLAG_TXE) == RESET);
return ch;
}
//重定向c库scanf函数到串口,重定向后可以使用scanf,getchar等函数
int fgetc(FILE *f)
{
//等待串口输入数据
while(USART_GetFlagStatus(DEBUG_USART,USART_FLAG_RXNE) == RESET);
return (int)USART_ReceiveData(DEBUG_USART);
}
- 勾选kill工程里面的Use MicroLIB
- 最后进行串口配置OK