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

ucos系统任务切换和中断响应异常

[复制链接]
大树树 提问时间:2018-9-4 07:43 /
悬赏20ST金币已解决
移植的UCOS程序,开始运行后一切正常,在运行一段时间后,会出现任务只有高优先级的任务可以执行,而且只有一个中断可以响应
查看任务切换状态,只有系统自建的任务和用户创建的最高优先级的任务在切换运行,其他任务都无法执行;
而中断只有一个响应的,而且不是优先级最高的,调试查看其他中断都无法进入。


有没有朋友遇见过这种情况的?

最佳答案

查看完整内容

这个简单,你看一下其他中断的相关寄存器的值不就知道原因了,还有就是查看其他任务的状态。。。。
收藏 评论9 发布时间:2018-9-4 07:43

举报

9个回答
MrJiu 回答时间:2018-9-4 07:43:09
这个简单,你看一下其他中断的相关寄存器的值不就知道原因了,还有就是查看其他任务的状态。。。。
大树树 回答时间:2018-9-4 09:58:27
MrJiu 发表于 2018-9-4 09:52
这个简单,你看一下其他中断的相关寄存器的值不就知道原因了,还有就是查看其他任务的状态。。。。 ...

我再查看下中断寄存器的状态,任务状态查看过了,是ready的
MrJiu 回答时间:2018-9-4 11:25:51
大树树 发表于 2018-9-4 09:58
我再查看下中断寄存器的状态,任务状态查看过了,是ready的

也要查看是否存在使能。。。当然了,如果都满足了,估计你的有一个中断频率太高了导致的吧!!!只能这么想了
大树树 回答时间:2018-9-4 13:07:52
MrJiu 发表于 2018-9-4 11:25
也要查看是否存在使能。。。当然了,如果都满足了,估计你的有一个中断频率太高了导致的吧!!!只能这么 ...

我在keil的debug下查看了下NVIC的状态,出现异常后其他的中断都不使能了,不知为什么被修改了
大树树 回答时间:2018-9-4 13:48:07
大树树 发表于 2018-9-4 13:07
我在keil的debug下查看了下NVIC的状态,出现异常后其他的中断都不使能了,不知为什么被修改了 ...

不对,NVIC控制器显示并不能反映真实状态,查看了外设寄存器的状态,接收中断是使能的,但是进不了中断
废鱼 回答时间:2018-9-4 14:42:20
中断调用的时候,有没有加挂起和退出挂起操作?
大树树 回答时间:2018-9-4 15:50:27
不好意思,我二逼了。
是因为第二优先级的任务中有个函数陷入了死循环,导致更低优先级的任务得不到执行,而中断是因为几个中断都是由任务发送指令才有反馈数据的。
太着急了搞得优点懵逼了。
实在不好意思
feixiang20 回答时间:2018-9-4 23:29:00
优先级任务中函数没设置好,形成死循环,还是代码问题啊
大树树 回答时间:2018-9-5 07:57:06
feixiang20 发表于 2018-9-4 23:29
优先级任务中函数没设置好,形成死循环,还是代码问题啊

是的,早该查出这个问题的,同时出现了几个问题,着急懵逼了

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版