[STM32F1] ucosii启动任务的问题

[复制链接]
1633|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() 之前把任务设置好
mmuuss586 发表于 2017-11-1 17:41 | 显示全部楼层
在任务里,再创建或删除任务都可以的
heisexingqisi 发表于 2017-11-1 21:17 | 显示全部楼层
一环扣一环。。这个系统用的人还是挺多的, 还有那个Free RTSO
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

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部