找回密码
 立即注册
查看: 1223|回复: 5

os_delete_task能在中断中使用吗?

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-14 09:15:06
已绑定手机

4

主题

23

回帖

272

积分

中级会员

积分
272
发表于 2023-3-22 15:50:21 | 显示全部楼层 |阅读模式
本帖最后由 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。中断返回后,不是返回被中断的地方,而是被系统重新调度到其他任务,那么,也许能解决这个问题。
上面的想法能实现吗?

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2023-3-22 17:02:25 | 显示全部楼层
不要在中断中创建、切换、删除任务,除非你对OS的底层非常了解。
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-3-22 17:08:37 | 显示全部楼层
楼主,请将在 本坛的网民 stcaimcu 修改下,否则我们以为是自己的客服人员
如:STC永远的爱好者
  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2023-3-22 17:54:19 | 显示全部楼层
个人资料,设置界面已经可以修改用户名了
1.png
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-14 09:15:06
已绑定手机

4

主题

23

回帖

272

积分

中级会员

积分
272
发表于 2023-3-22 18:35:54 | 显示全部楼层
乘风*** 发表于 2023-3-22 17:54
个人资料,设置界面已经可以修改用户名了

呵呵,已改。
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-14 09:15:06
已绑定手机

4

主题

23

回帖

272

积分

中级会员

积分
272
发表于 2023-3-22 18:46:18 | 显示全部楼层
梁*** 发表于 2023-3-22 17:02
不要在中断中创建、切换、删除任务,除非你对OS的底层非常了解。

怎样避免上述情况呢:
打开中断后,在进入掉电模式之前,
因中断的出现,需要放弃下一步的进入掉电模式。
单纯靠常规方法似乎没法实现啊----即使在PCON=2跟前加条件判断,也没法避免这种小概率但必然会出现的问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:30 , Processed in 0.117310 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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