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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版