ucos系统任务切换和中断响应异常
移植的UCOS程序,开始运行后一切正常,在运行一段时间后,会出现任务只有高优先级的任务可以执行,而且只有一个中断可以响应查看任务切换状态,只有系统自建的任务和用户创建的最高优先级的任务在切换运行,其他任务都无法执行;
而中断只有一个响应的,而且不是优先级最高的,调试查看其他中断都无法进入。
有没有朋友遇见过这种情况的?
这个简单,你看一下其他中断的相关寄存器的值不就知道原因了,还有就是查看其他任务的状态。。。。 MrJiu 发表于 2018-9-4 09:52
这个简单,你看一下其他中断的相关寄存器的值不就知道原因了,还有就是查看其他任务的状态。。。。 ...
我再查看下中断寄存器的状态,任务状态查看过了,是ready的 大树树 发表于 2018-9-4 09:58
我再查看下中断寄存器的状态,任务状态查看过了,是ready的
也要查看是否存在使能。。。当然了,如果都满足了,估计你的有一个中断频率太高了导致的吧!!!只能这么想了 MrJiu 发表于 2018-9-4 11:25
也要查看是否存在使能。。。当然了,如果都满足了,估计你的有一个中断频率太高了导致的吧!!!只能这么 ...
我在keil的debug下查看了下NVIC的状态,出现异常后其他的中断都不使能了,不知为什么被修改了 大树树 发表于 2018-9-4 13:07
我在keil的debug下查看了下NVIC的状态,出现异常后其他的中断都不使能了,不知为什么被修改了 ...
不对,NVIC控制器显示并不能反映真实状态,查看了外设寄存器的状态,接收中断是使能的,但是进不了中断 中断调用的时候,有没有加挂起和退出挂起操作? 不好意思,我二逼了。
是因为第二优先级的任务中有个函数陷入了死循环,导致更低优先级的任务得不到执行,而中断是因为几个中断都是由任务发送指令才有反馈数据的。
太着急了搞得优点懵逼了。:Q:Q
实在不好意思 优先级任务中函数没设置好,形成死循环,还是代码问题啊 feixiang20 发表于 2018-9-4 23:29
优先级任务中函数没设置好,形成死循环,还是代码问题啊
是的,早该查出这个问题的,同时出现了几个问题,着急懵逼了:L
页:
[1]