在建立STM32关于串口打印的相关工程时 在配置好串口的初始化程序后 直接在main函数中调用printf函数会发现 整个程序不起任何作用 在查阅了相关资料后发现 要重编写<stdio.h> 函数里的fputc函数 下面的函数就放在你的串口初始化里就好了c文件里要包括stdio的头文件哦
int fputc(int ch,FILE * f)
{
USART_SendData(USART2,(u8) ch);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);
return (ch);
}
int fgetc(FILE *f)
{
while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);
return (int)USART_ReceiveData(USART1);
}
并在Options选项下Target中勾选 Use Micro LIB