USART在关RXNE的情况下,继续收数据STM32会挂掉

[复制链接]
1785|4
 楼主| inurl 发表于 2013-3-4 09:20 | 显示全部楼层 |阅读模式
本帖最后由 inurl 于 2013-3-4 16:00 编辑

1、 使用 USART_ITConfig(USART3, USART_IT_RXNE, DISABLE); 配置RXNE为关。 然后串口继续有数据发过来。
2、在INT接收函数里面会进ORE溢出中断:
          if ( USART_GetFlagStatus ( USART3, USART_FLAG_ORE ) != RESET )
        {
            USART_ReceiveData ( USART3 );
         }

3、但是如果数据很频繁的话,STM32直接挂掉,会进HardFaultException异常。
      HardFaultException
              B       HardFaultException


已经确定了问题所在,如果注释掉USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);的话,就不会出此问题。
但是如果数据不频繁的话,就不会进HardFaultException。请高手指导下!!!!
我现在想一段时间暂时不接收数据不进中断,该怎么配置 ?

 楼主| inurl 发表于 2013-3-4 12:52 | 显示全部楼层
继续顶一下吧!
 楼主| inurl 发表于 2013-3-4 12:53 | 显示全部楼层
继续顶一下吧!
阿南 发表于 2013-3-4 14:13 | 显示全部楼层
楼主确定一下挂掉是什么情况,是程序飞了还是处理器自己死了。如果是后者需要和原厂确定为CPU的本身BUG,如果是前者则需要自己在软件上做相应的处理
jlass 发表于 2013-3-4 15:26 | 显示全部楼层
又是USART1,又是USART3的,什么情况
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

293

帖子

1

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