你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L4的串口接收中断问题

[复制链接]
nipenghao 提问时间:2016-4-14 14:37 /
     在STM32L4上跑FreeRTOS,现在只建立一个串口接收任务,任务是接收数据并将接收到数据打印出来,配置串口为中断接收,外部隔一小段时间发送数据到串口。    在调试过程中,发现只要在任务中设置个断点,然后继续运行的话发现程序一直在中断中跳不出来。如果不设断点全速运行的话,程序正常。初步怀疑是由于外部一直有数据,导致触发多次中断。但是如果运行到断点后停止外部的发送数据,从断点开始运行还是一直在中断中。我试了uart4和usart2,都是这样,不知道有没有谁也遇到过这种问题,出现这种情况的原因大概是什么。
收藏 评论3 发布时间:2016-4-14 14:37

举报

3个回答
回答时间:2016-4-14 17:54:40
是HAL库吗?如果是,检查一下错误标志位,然后根据情况重新初始化串口。
nipenghao 回答时间:2016-4-14 22:29:59
安 发表于 2016-4-14 17:54
是HAL库吗?如果是,检查一下错误标志位,然后根据情况重新初始化串口。

嗯 是基于HAL库上的,出现这种情况时发现OVERRUN被置位,裸机程序下将串口寄存器中的USART_CR3中OVRDIS置1,取消OVERRUN的检测,上面描述的情况不再出现,但是在带freertos时,USART_CR3中的OVRDIS置1不了,估计程序哪又有问题。
回答时间:2016-4-15 09:20:53
不用取消检测,判断到该情况时,可以重新初始化串口。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版