另外,我已经清了USART_ClearFlag(USART1,USART_FLAG_ORE);中断标志,但是仿真的时候该位还是1,不知道咋回事?
if(USART_GetFlagStatus(USART1,USART_FLAG_ORE) != 0)
//if((USART1->ISR & (1<<3)) != 0)
{
//USART1->ICR |= 1 << 3;
USART_ClearFlag(USART1,USART_FLAG_ORE);
//USART_ReceiveData(USART1);
//return;
}
//if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//如果寄存器中有数据
if((USART1->ISR & 0x20) != 0)
{
}
|