找回密码
 立即注册
楼主: 神***

任务调度方法,【无错,至简】!“多任务分时调度”

[复制链接]
  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 156 天

    [LV.7]常住居民III

    5

    主题

    481

    回帖

    2090

    积分

    荣誉版主

    积分
    2090
    发表于 2024-4-8 12:53:53 | 显示全部楼层
    _奶咖君_ 发表于 2024-4-8 11:01
    手动修改调用树,,我记得之前有个坛友在论坛里出过类似的问题。虽然不是使用系统出现的问题,,不过也是 ...

    是的,通过修改调用树的方法可以解决这个问题。

    “让用户自己去修改调用树” 显然不能做为RTOS的选项,因为这项工作
    不仅难度大、易出错,可能还会反复(随着用户的相关调整),不能把麻烦留给用户。
    当然,如果用户有这个爱好,喜欢钻研,是可以一试的,但却不能做为RTOS的选项。


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    5 小时前
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2024-4-8 13:15:41 | 显示全部楼层
    CosyOS 发表于 2024-4-8 12:53
    是的,通过修改调用树的方法可以解决这个问题。

    “让用户自己去修改调用树” 显然不能做为RTOS的选项, ...

    方法是有这么个方法,而不是你所说的  无非...

    用不用那就是两回事了,,,你可以认为这个方法不好用,好用的方法也确实你所说的那两种方法。 那你要说无非那两种方法的话,,那并不是。

    那至于你说的 不能作为....的选项 不再我的讨论的范围内。我仅仅是想说还有其他的方法。

    点评

    1、首先,我并不反对你的方法,做为自己使用,什么方法都是可以的,只要能解决问题就行。 2、我说的“无非”,是在我的认知里,我仅知道这两种便捷的方法,也许还有其它更为高明的方法,但我不知道。 3、做为RTOS,  详情 回复 发表于 2024-4-8 13:41
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 156 天

    [LV.7]常住居民III

    5

    主题

    481

    回帖

    2090

    积分

    荣誉版主

    积分
    2090
    发表于 2024-4-8 13:41:36 | 显示全部楼层
    _奶咖君_ 发表于 2024-4-8 13:15
    方法是有这么个方法,而不是你所说的  无非...

    用不用那就是两回事了,,,你可以认为这个方法不好用, ...

    1、首先,我并不反对你的方法,做为自己使用,什么方法都是可以的,只要能解决问题就行。
    2、我说的“无非”,是在我的认知里,我仅知道这两种便捷的方法,也许还有其它更为高明的方法,但我不知道。
    3、做为RTOS,是要提供给大家使用的,当然不能把麻烦留给用户了,所以只能选择易用的方法。
    4、如果你有什么高明的方法,还请不吝赐教,如果你愿意的话。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    5 小时前
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2024-4-8 13:56:08 | 显示全部楼层
    CosyOS 发表于 2024-4-8 13:41
    1、首先,我并不反对你的方法,做为自己使用,什么方法都是可以的,只要能解决问题就行。
    2、我说的“无 ...

    嗯 可以了,,我再重申一遍 我只是再补充说明,

    点评

    嗯,你补充的很好,是我话说多了,抱歉  发表于 2024-4-8 14:11
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:23
  • 签到天数: 65 天

    [LV.6]常住居民II

    5

    主题

    39

    回帖

    456

    积分

    中级会员

    积分
    456
    发表于 2024-4-8 18:09:58 | 显示全部楼层
    请教一下,如果有些函数执行时间很长5~10ms,对1ms周期的任务有什么影响?会出错吗?

    点评

    如果这个时间段有别的函数需要执行, 就会被正在执行的函数推迟执行. 被动的延迟, 这个就是常规的单任务大循环. 响应不确定的. 要想响应快就不要放在函数内, 需要快响应的代码放中断里去  详情 回复 发表于 2024-4-8 20:18
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 128 天

    [LV.7]常住居民III

    26

    主题

    1287

    回帖

    4001

    积分

    论坛元老

    积分
    4001
    发表于 2024-4-8 19:15:55 | 显示全部楼层
    tzz1983 发表于 2024-4-5 22:56
    这个例子使用了函数指针, 函数指针是个好东西,
    可是我不敢在keilC51, 或keilC251不开全局重入的时候用函数 ...

    这个例子只是一个周期性调度任务的方法,不能算是O/S吧。
    定时器只提供计时功能,所有任务都在主循环判断执行。
    执行完当前任务才能判断执行下一个任务,没有重入/抢占之类的情况。
    当然从安全角度考虑确实要慎用指针



    截图202404081914387450.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    19

    主题

    519

    回帖

    1642

    积分

    荣誉版主

    积分
    1642
    发表于 2024-4-8 20:12:56 | 显示全部楼层
    本帖最后由 tzz1983 于 2024-4-8 20:14 编辑

    我的理解是:

    1. 调用树和变量覆盖有关系, 和OS没有多大关系,  不用OS也有变量覆盖.
    2. NOOVERLAY 和可重入不是等同关系, NOOVERLAY不能代表可重入, 可重入可保证不被OVERLAY.

    总结: 我只是说在非NOOVERLAY 和 非全局可重入的情况下, 用函数指针可能会使调用树乱掉.
    具体会不会出错我不知道. 我也不想去研究证明. 所以我说的是慎用. 仅仅是提个醒.
    我没有说此事和OS有关, 也没有说和可重入有关, 只是事件后来被讨论的放大了.

    请大家不要再为此事争闹, 各有各的看法,  自己真刀实枪的干就完事了.
    我认为调用树乱掉是有问题的, 但是我不会去证明, 因为我自己不会这么用.
    梁工说这样用没有问题.  所以有兴趣的可以自己去试验.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    19

    主题

    519

    回帖

    1642

    积分

    荣誉版主

    积分
    1642
    发表于 2024-4-8 20:18:07 | 显示全部楼层
    本帖最后由 tzz1983 于 2024-4-8 20:22 编辑
    hhh402 发表于 2024-4-8 18:09
    请教一下,如果有些函数执行时间很长5~10ms,对1ms周期的任务有什么影响?会出错吗? ...

    如果这个时间段有别的函数需要执行, 就会被正在执行的函数推迟执行. 仅本次被推迟, 总体上不会累积
    这是被动的延迟, 这个就是常规的单任务大循环. 响应不确定的.
    要想响应快就不要放在函数内, 需要快响应的代码放中断里去
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 47 天

    [LV.5]常住居民I

    0

    主题

    84

    回帖

    358

    积分

    中级会员

    积分
    358
    发表于 2024-4-10 13:54:54 | 显示全部楼层
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 66 天

    [LV.6]常住居民II

    4

    主题

    414

    回帖

    1114

    积分

    金牌会员

    积分
    1114
    发表于 2024-4-11 16:50:07 | 显示全部楼层
    官方的例程,是给用户服务的,用户怎么使用都可以,安全性、稳定性自己要把握好
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-4-30 14:22 , Processed in 0.071984 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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