我用Keil仿真以下例子,它就一直停在下面函数的while语句上,按说 USART_FLAG_TXE是发送数据寄存器空标志,RESET代表0,就是说等待发送数据寄存器空了才开始发送下一个字符,但他一直发送的是 Printf要输出字符串的第一个字符。不知道我分析的对不对,麻烦大伙 帮我看一下。 int fputc(int ch, FILE *f) { /* Write a character to the USART */ USART_SendData(USARTx, (u8) ch); while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET) { } return ch; } 相关链接:https://bbs.21ic.com/upfiles/img/200812/2008121274833766.rar |