一个简单的串口接收数据中断居然不能退出了

[复制链接]
2176|6
 楼主| tianli1980 发表于 2013-7-14 18:26 | 显示全部楼层 |阅读模式
一个简单的串口接收数据中断居然不能退出了
if(USART_GetFlagStatus(USART3,USART_FLAG_ORE)==SET)
  {
    USART_ClearFlag(USART3,USART_FLAG_ORE);  //读SR
    USART_ReceiveData(USART3);       //读DR
  }
标准的库函数啊
  if(USART_GetITStatus(USART3,USART_IT_RXNE)==SET)
{
USART_ClearITPendingBit(USART3,USART_IT_RXNE);
USART_ReceiveData(USART3);       
}
 楼主| tianli1980 发表于 2013-7-14 18:27 | 显示全部楼层
清除了2种标志,接收中断和溢出标志,还是不能退出中断啊
hawksabre 发表于 2013-7-14 20:20 | 显示全部楼层
进入死循环了   楼主
qhuang 发表于 2013-7-15 09:30 | 显示全部楼层
看看串口的相应的寄存器,是否有某些中断标志位没有处理的。
qhuang 发表于 2013-7-15 09:30 | 显示全部楼层
看看串口的相应的寄存器,是否有某些中断标志位没有处理的。
huangfeng33 发表于 2013-7-15 18:53 | 显示全部楼层
呵呵,楼主,要是能退出中断就怪了,进入死循环了
hkcj 发表于 2013-7-15 19:26 | 显示全部楼层
应该是死循环   楼主   重点查一查循环程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部