打印
[STM32F1]

ucosii启动任务的问题

[复制链接]
1345|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cjy_JDxy|  楼主 | 2017-11-1 15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ucosii在在调用OSStart()启动任务调度之前,必须创建了至少一个任务。我这里创建了一个static  void  App_TaskStart (void *p_arg)
而且在这个任务里又创建了好多另外的应用任务。
我原来理解那个App_TaskStart 运行了以后,把任务创建完毕,就没用了。
可是我看到有的程序里面App_TaskStart 任务里也有一些功能代码。
于是,我似乎改变了看法,就是App_TaskStart 也可以像其他任务一样,
写入一些功能代码,完成一些像其他任务一样比如采集、通信、存储等功能。
不知道我的理解对不对。请高手指教,谢谢\!




沙发
feelhyq| | 2017-11-1 15:54 | 只看该作者
非常正确,爸爸生下了小孩,小孩跑起来了,默认情况下爸爸也正常健康的

使用特权

评论回复
板凳
Cjy_JDxy|  楼主 | 2017-11-1 15:56 | 只看该作者
feelhyq 发表于 2017-11-1 15:54
非常正确,爸爸生下了小孩,小孩跑起来了,默认情况下爸爸也正常健康的

谢谢

使用特权

评论回复
地板
kingkits| | 2017-11-1 16:10 | 只看该作者
那也是正经任务,你也可以不用这个任务,直接在task_start() 之前把任务设置好

使用特权

评论回复
5
mmuuss586| | 2017-11-1 17:41 | 只看该作者
在任务里,再创建或删除任务都可以的

使用特权

评论回复
6
heisexingqisi| | 2017-11-1 21:17 | 只看该作者
一环扣一环。。这个系统用的人还是挺多的, 还有那个Free RTSO

使用特权

评论回复
7
lishutong| | 2017-11-17 07:51 | 只看该作者
本帖最后由 lishutong 于 2017-11-17 07:52 编辑

App_TaskStart没必要删除,删除之后他原来的OS_TCB和堆栈空间除非后面再用这部分空间给新创建的任务,不然就一直驻留在内存里,白白浪费空间。何不让该任务继续运行下去呢?

这种创建启动任务后,在启动任务中完成初始化、创建其它任务,然后再让该任务继续做其它功能,应该来讲还是蛮常见的。

楼上有同学说,可以在OSStart()之前完成所有任务初始化。个人觉得,也可以。但是我还推荐的之前那种。

对于任务创建模式,我之前写过一篇**,里面有分析两种创建方式的优缺点:http://01ketang.cc/rtos/rtos-init.html

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝