我用的是串口2,想法是串口2接收到pc发来的数据后就使LED转换状态。
一开始用的中断服务函数,程序成功。
void USART2_IRQHandler(void)
{
if(USART_GetITStatus(USART2, USART_IT_RXNE) ==SET)
{
USART_ClearFlag (USART2,USART_FLAG_RXNE);
LED0=!LED0;
}
}
复制代码
但是我用查询法就不管用了
while(1)
{
if(USART_GetFlagStatus (USART2, USART_FLAG_RXNE)==SET)
{
USART_ClearFlag (USART2,USART_FLAG_RXNE);
LED0=!LED0;
}
}
复制代码
很久没找出错误。。 |