STM32 printf 重定向

Options 选项里面Target选项页 将Use MicroLIB 勾上。
为了实现重定向 printf()函数,我们需要重写 fputc() 这个 c 标准库函数,
因为 printf()在 c 标准库函数中实质是一个宏,最终是调用了 fputc()这个函数
的。
int fputc(int ch, FILE *f)
{
/* 将 Printf 内容发往串口 */
USART_SendData(USART1, (unsigned char) ch);
while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET);
return (ch);
}
评论