打印

关于USART接收中断的BUG和注意事项

[复制链接]
楼主: JesseMok
手机看帖
扫描二维码
随时随地手机跟帖
61
秒针之上| | 2015-4-25 11:00 | 只看该作者 回帖奖励 |倒序浏览
其实不用这么麻烦的,直接在IRQ中断中将判断条件由
if(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET)
改为while(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET)就行了。
我本来也遇到了这个问题,将
if(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET)
改成
if(USART_GetFlagStatus(USART1, USART_FLAG_ORE) != RESET)
以后直接读取DR的话,只能获取字符串中基数或者偶数位的字符。但是如果将if改成while(还是读取RXNE而不是ORE)就直接可以获取大批连续数据了

使用特权

评论回复
62
xiaoyh520| | 2015-5-21 17:39 | 只看该作者
我在也在这个地方中招了

使用特权

评论回复
63
Thor9| | 2015-5-21 20:26 | 只看该作者

使用特权

评论回复
64
betbet| | 2015-7-7 08:48 | 只看该作者
碰到同样的问题了,找了老半天。

使用特权

评论回复
65
joyo00321949| | 2015-8-13 09:10 | 只看该作者
谢谢,看了你的**全明白了

使用特权

评论回复
66
wangxinyong| | 2015-11-3 21:26 | 只看该作者
好贴,学习了,一直被困扰,感谢

使用特权

评论回复
67
那就地方iv| | 2015-11-4 08:46 | 只看该作者
谢谢楼主发帖总结,受益了

使用特权

评论回复
68
tatiyixi| | 2016-1-7 01:36 | 只看该作者
mark

使用特权

评论回复
69
quangezaizhe| | 2016-4-12 18:05 | 只看该作者
MARK 解燃眉之急  不过我不是在电脑狂发信息到下位机 而是使能了接收中断,在整个系统上电瞬间可能导致了接收 ORE  表现就是用中断的东西可以工作但是中断频率也被拖慢了,主函数基本进不去
等我验证了再来补帖   先顶楼主

使用特权

评论回复
70
年年有恩| | 2016-6-3 09:51 | 只看该作者
马克!

使用特权

评论回复
71
victor1934| | 2016-6-9 10:57 | 只看该作者
感谢楼主分享,很不错的帖子,详细到位,支持一下~~

使用特权

评论回复
72
lanenwu| | 2016-6-9 22:30 | 只看该作者
感谢楼主的分享,希望咱们在解决了问题的时候也积极分享,感谢楼主

使用特权

评论回复
73
CBeginners| | 2016-6-12 16:34 | 只看该作者
MARK

使用特权

评论回复
74
xzezhen| | 2016-6-16 16:41 | 只看该作者
很赞,学习了

使用特权

评论回复
75
蓝色天使211| | 2016-7-3 17:41 | 只看该作者
好帖子,赞一个!

使用特权

评论回复
76
coderdd| | 2018-3-14 11:20 | 只看该作者
解决问题能力满分,有大神在,所以我基本百度,最终总能找到解决方案。。。。

使用特权

评论回复
77
echohmy| | 2019-5-27 15:41 | 只看该作者
MARK

使用特权

评论回复
78
cainiao518| | 2019-10-28 19:37 | 只看该作者
好帖,赞一个

使用特权

评论回复
79
qhtflsw| | 2020-10-30 10:24 | 只看该作者
  if (LL_USART_IsActiveFlag_ORE(USART1))
  {
    LL_USART_ClearFlag_ORE(USART1);
  }

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则