如题,在按照原子库函数教程实验完成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条件成立程序就不会往下走了,还怎么再发送数据呢???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>