探索者开发板多个串口如何调整优先级

2019-07-20 22:53发布

本帖最后由 挣点圆子 于 2016-4-13 10:37 编辑

请问大神,如果启动多个串口和外部进行通信。如何保证数据不丢失。我现在是用原子哥的代码跑。发现在多个串口中断开启的时候,发送函数被其他串口打断会发不出去。
//发送len个字节.
//buf:发送区首地址
//len:发送的字节数
void UART2_Send_Data(u8 *buf,u16 len)  
{
        u16 t;
          for(t=0;t<len;t++)                //循环发送数据
        {
            while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);//等待发送结束               
       USART_SendData(USART2,buf[t]); //发送数据
        }         
        while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET); //等待发送结束                        
}

//经常会死在while循环里面出不来
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。