搜索
bottom↓
回复: 12

请问在多任务下,设置任务如何处理?

[复制链接]

出0入0汤圆

发表于 2009-12-11 15:12:42 | 显示全部楼层 |阅读模式
请问在多任务下,设置任务如何处理?

比如说,工作模式分为 正常工作状态 与 设置状态。

正常工作状态下有4个工作任务运行,

设置的时候需要把这4个工作任务全部停止,设置完再恢复这4个任务运行,

该如何处理?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-12-11 15:32:49 | 显示全部楼层
用的什么RTOS, 好像这种高级功能一般RTOS没有

出0入0汤圆

发表于 2009-12-11 15:38:02 | 显示全部楼层
如何进入设置状态?

出0入0汤圆

发表于 2009-12-11 15:42:08 | 显示全部楼层
假设是一个外部事件(比如按键按下或通信接口收到一个数据),那么可以在检测到这个外部事件的时候,给一个高优先级(相对于那4个工作任务)的任务发信号。

出0入0汤圆

 楼主| 发表于 2009-12-11 15:56:09 | 显示全部楼层
假设是一个外部事件(比如按键按下或通信接口收到一个数据),那么可以在检测到这个外部事件的时候,给一个高优先级(相对于那4个工作任务)的任务发信号。
-----------------------------------
然后把其他任务停止下来?

出0入0汤圆

发表于 2009-12-11 16:04:41 | 显示全部楼层
如果是抢占式调度,发信号的时候就自动转入设置任务。如果需要(工作任务以新的设置重新开始工作),可以在设置任务中重新初始化4个工作任务。

如果是协作调度,直接在检测到外部事件的地方重新初始化各个工作任务。

出0入0汤圆

发表于 2009-12-11 16:19:14 | 显示全部楼层
在普通RTOS下好像不太可能这样做。

出0入0汤圆

发表于 2009-12-11 16:29:35 | 显示全部楼层
看是什么RTOS,是否支持任务挂起等操作?

假设前提条件成立,
在正常状态下,条件触发,进入设置状态,进入之前,将其它任务挂起即可。
在设置状态下,条件触发,退出设置状态,退出之前,将之前挂起的任务恢复即可。

是否满足?

出0入0汤圆

发表于 2009-12-11 17:03:23 | 显示全部楼层
个人愚见,这不是一种好的编程习惯,养成习惯的话,容易造成任务间(模块间)交叉控制,本例的后果是,被控制的4个任务失去独立性,维护性变差。
可以考虑一下是否有其他方法,让4个被控制任务自己决定自己的行为,比如自己检测到什么条件时停止干活。

出0入0汤圆

 楼主| 发表于 2009-12-11 17:39:31 | 显示全部楼层
想法是 每个任务控制块都加上一个 TaskSuspendRequest,

任务不停的查询这个标志,如果有效,自己挂起自己。

这需要任务不停的查询这个标志,如果任务中有较长的延时,又比较麻烦。

出0入0汤圆

发表于 2009-12-11 21:36:58 | 显示全部楼层
能否从系统架构的角度,避开这种尴尬呢?
一般来说,项目实施时需要用什么样的技巧,往往跟系统架构有关。
模块之间交错关联程度,影响最大的就是系统架构设计。

出0入0汤圆

发表于 2009-12-16 00:32:46 | 显示全部楼层
9楼这个问题其实也好解决
多加一个任务,设置任务,这个任务比前面的优先级都要高
按键中断触发这个任务就绪
然后一直不停的运行,这样别的任务就没法打断抢占他,设置完成后设置任务进入阻塞状态
这样其他的4个任务就可以正常运行了

出0入0汤圆

发表于 2009-12-19 06:30:28 | 显示全部楼层
另外一种解决办法:
    设一个优先级标志,如果该标志有效,低于某一优先级的线程不参与调度,否则,都参与调度。把需要挂起的线程的优先设在该优先级以下就行了。
    这要修改调度算法。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 18:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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