还是stm32 usart查询方式发送数据的有关问题 上次发帖没有解决就没有结贴,这次程序简化一下大家再看看

还是stm32 usart查询方式发送数据的问题 上次发帖没有解决就没有结贴,这次程序简化一下大家再看看
void Uart1_PutChar(u8 ch)
{
USART_SendData(USART1, ch);
while( USART_GetFlagStatus( USART1, USART_FLAG_TXE)==RESET);
}

 
int main()
{
       RCC_cfg();
       GPIO_cfg();
       USART_cfg();
       while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
//while(1){
       Uart1_PutChar(0x77);
       Uart1_PutChar(0x97);
  //      }
       while(1);
}

就是这样一个程序 ,电脑串口收不到数据。很奇怪的是如果把注释去掉即加上while(1)无限循环就能够循环发送数据了

------解决方案--------------------
你确定你是先开的电脑上的串口调试助手的?
------解决方案--------------------
如果是在
RCC_cfg();
后面加一个大大的延时
------解决方案--------------------
你在USART_cfg()里面加上这句话试试"USART_ClearFlag(USART2,USART_FLAG_TC);      //防止第一个字节发不出去"。