485实验程序有几个地方一直想不明白

2019-07-21 01:55发布

如题,在按照原子库函数教程实验完成485实验时看到下面一部分程序
[mw_shl_code=c,true] void re485_Send_Data(u8 *buf,u8 len) { u8 t; RS485_TX_EN=1; 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); RS485_RX_CNT=0; RS485_TX_EN=0; } [/mw_shl_code] 其中
[mw_shl_code=c,true]for(t=0;t<len;t++) { while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET); USART_SendData(USART2,buf[t]); }[/mw_shl_code] 中 [mw_shl_code=c,true]while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);[/mw_shl_code] 对这句看不懂,如果没有发送完,那标志位USART_FLAG_TC是=0的,while条件成立程序就不会往下走了,还怎么再发送数据呢???

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。