int main(void)
{
u8 len;
u8 i;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
led_init();
key_init();
exti_init();
delay_init(168);
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;
for(i=0;i<len;i++)
{
USART_SendData(USART1,USART_RX_BUF);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
USART_RX_STA=0;
}
}
}
这是原子哥提供的例程代码,while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);TC寄存器不是发送完成标志吗?在这个地方我接收了一串字符,在for循环里向电脑发送这串字符,如果没有发送完的话,不就在这个while里死循环了??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>