stm32下直接使用printf,虽编译时无任何问题,但运行时,会导致程序无法进行,在使用前应该做到以下两步:
1.使用microlib
工程设置-->TARGET---->use microlib ,打勾
2.主文件中添加以下代码:
int fputc(int ch,FILE *f)
{
/* Write a character to the USART */
USART_SendData(USART1, (u8) ch);
/* Loop until the end of transmission */
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
{
}
return ch;
}