os_delete_task能在中断中使用吗?
本帖最后由 stcaimcu 于 2023-3-22 16:02 编辑问题1:RTX51-Tiny系统中,在中断中要使用 isr_xxx 前缀的系统函数,os_delete_task没有对应的isr_delete_task, os_delete_task能在中断中使用吗?
问题2:如果os_delete_task能在中断中使用,那么,如果中断是在执行被中止的任务时发生的,中断退出后,是返回到被中止的任务中,继续执行后续语句还是被系统调度到其他任务?
想要确定以上问题是因为,在低功耗处理上遇到了问题:
if(要求低功耗条件)
{
//配置中断
...
... <--如果这时候进入中断,而又不想继续进入掉电模式,怎么办!!!
...
//进入掉电模式
PCON | = 2;
NOP(4);
...
}
在满足了 要单片机进入低功耗的条件 后,单片机必须允许(!!!)中断,再进入掉电模式,否则就没法用外部引脚触发唤醒了。
但,此时出现了中断,然后立刻会进入中断处理程序,处理结果是不希望单片机进入掉电模式。
似乎,这时已经无法阻止上述程序的执行了。
如果,把上述程序放在任务当中。中断后执行os_delete_task。中断返回后,不是返回被中断的地方,而是被系统重新调度到其他任务,那么,也许能解决这个问题。
上面的想法能实现吗?
不要在中断中创建、切换、删除任务,除非你对OS的底层非常了解。 楼主,请将在 本坛的网民 stcaimcu 修改下,否则我们以为是自己的客服人员
如:STC永远的爱好者
个人资料,设置界面已经可以修改用户名了
乘风飞扬 发表于 2023-3-22 17:54
个人资料,设置界面已经可以修改用户名了
呵呵,已改。 梁工 发表于 2023-3-22 17:02
不要在中断中创建、切换、删除任务,除非你对OS的底层非常了解。
怎样避免上述情况呢:
打开中断后,在进入掉电模式之前,
因中断的出现,需要放弃下一步的进入掉电模式。
单纯靠常规方法似乎没法实现啊----即使在PCON=2跟前加条件判断,也没法避免这种小概率但必然会出现的问题。
页:
[1]