//重定义fputc函数
int fputc(int ch, FILE *f)
{
while((USART3->SR&0X40)==0);//循环发送,直到发送完毕
USART3->DR = (u8) ch;
return ch;
}
MCU从STM32更换为GD后串口打印失效且卡死,在KEIL的DEBUG模式下发现卡死在while语句上。
将上方代码更换为
//重定义fputc函数
int fputc(int ch, FILE *f)
{
USART3->DR = (u8) ch;
while((USART3->SR&0X40)==0);//循环发送,直到发送完毕
return ch;
}
可以解决