赞
踩
ORE标志位在USART_SR寄存器,但值得注意的是,当我们打开串口接收中断时,同时也就打开了ORE中断。
(2)如何解决?
ORE中断只能使用USART_GetFlagStatus(USART1, USART_FLAG_ORE) 读到
(没有使能USART_IT_ERR中断时)
if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)== SET)//程序中断过多,主机的发送速度又快,很容易会造成溢出错误
{
USART_ClearFlag(USART1, USART_FLAG_ORE); //清除溢出中断
USART_ReceiveData(USART1);//必须要读,不然清除不了
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。