野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18014|回复: 2

串口接收卡死问题

[复制链接]
回帖奖励 16 火花 回复本帖可获得 8 火花奖励! 每人限 3 次
发表于 2021-4-15 17:07:51 | 显示全部楼层 |阅读模式
本帖最后由 红鲤鱼 于 2021-4-15 17:38 编辑

在GPS例程基础上增加了一个串口,可以正常向这个串口发送数据,但是一旦用这个串口接收数据程序会卡住,上网搜索了一下,有可能是ORE溢出导致卡死在中断,但是我清除了ore依然会卡住。if(USART_GetFlagStatus(USARTx,USART_FLAG_ORE)==SET)                                    
            {
                                  USART_ClearFlag(USARTx,USART_FLAG_RXNE);
                                  USART_ClearITPendingBit(USARTx,USART_IT_RXNE);
                                  USART_ReceiveData( USARTx );
                                    USART_ClearFlag(USARTx,USART_FLAG_ORE);
                                       
      }        

这是我清除的部分。有没有哪位朋友指点一下,谢谢了。
回复

使用道具 举报

 楼主| 发表于 2021-4-17 09:59:39 | 显示全部楼层
已经解决,开启了多个中断,优先级没有设置好,导致单线程的程序发生了冲突
回复 支持 反对

使用道具 举报

发表于 2022-10-21 17:40:27 | 显示全部楼层

回帖奖励 +8 火花

也遇到了这个问题,不知道是什么原因,试着去修改下中断优先等级试试看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 15:03 , Processed in 0.051242 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表