本帖最后由 挣点圆子 于 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循环里面出不来
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>