OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4957|回复: 1

提问,为何在调用OSStart()函数前,要至少创建一个用户任务?

[复制链接]

8

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-1-18
在线时间
18 小时
发表于 2020-12-20 11:16:18 | 显示全部楼层 |阅读模式
1金钱
  UC/OS II初学者,在看书学习uc/osII的初始化与运行章节时,对书本上的一句话“ 在调用OSStart()函数前,必须至少创建一个用户任务...” 有疑惑。
我的疑问理由:
如果我在OSInit()初始化后,不使用OSCreat()函数创建用户任务而直接写OSStart(),那么系统应该也是能开始运行的(OSRunning==TURE)。
因为此时空闲任务与统计任务(如果有的话)已经在OSInit()时对它们的任务控制块初始化完成,OSStart()执行后会把它们两个中优先级高的调度为运行状态,即系统仍然是可以为运行状态的(OSRunning==TURE),
只不过由于没有创建用户任务,此时系统在无意义的运行罢了,不知道我理解的有无问题,望解答,谢谢。




最佳答案

查看完整内容[请看2#楼]

是的,你的理解是对的。至少创建一个任务没有毛病。因为系统自动会创建空闲任务和统计任务。只要start就可以运行。其实这是为了保证系统的稳定性。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4471
金钱
4471
注册时间
2013-4-22
在线时间
335 小时
发表于 2020-12-20 11:16:19 | 显示全部楼层
是的,你的理解是对的。至少创建一个任务没有毛病。因为系统自动会创建空闲任务和统计任务。只要start就可以运行。其实这是为了保证系统的稳定性。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 11:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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