中级会员
 
- 积分
- 231
- 金钱
- 231
- 注册时间
- 2015-3-12
- 在线时间
- 18 小时
|
1金钱
本帖最后由 挣点圆子 于 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循环里面出不来
|
|