完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大概意思说的就是youTask 和 myTask 共享S数组,youTask输出“youTask”,myTask输出“myTask”实验结果如第三图所示,本来依据代码预期第三列应该输出youTask的,被高任务优先级的myTask设置了S字符串输出了myTask。
我现在在c户籍学习阶段,我理解的任务之间的切换必须要有任务调度才会执行的吧,在youTask的代码中并没有看到任务调度的影子呀,只有在最后才又一个OStimeDly,但是第三列输出的while代码在前面,感觉也不会影响的,我就觉得第三列还会输出youTask,不知道我哪里理解错误了呢》?求指教。 另外一个问题就是在youTask代码中的while循环,前面OStime被重新设置为0了,while的条件是OStime<500,500个时钟节拍,我觉得这里会有一段时间(500个时钟节拍的时间,应该也是很长时间了)执行while中的代码,应该会在第三列输出很多很多的youTask/myTask,毕竟代码执行速度不是us级别吗,时钟节拍是ms级别。而且在这500个时钟节拍内程序是不是都不会往下或者往别的任务进行调度。不懂,有大神请指点一下,谢谢。 下午有发烧友发布会,我要去学习学习,不知道能不能抽个奖品,哈哈。 |
|
相关推荐
2个回答
|
|
|
任务调度是系统自动切换的,调用延时程序会手动切换任务。
|
|
|
|
|
|
程序运行速度和时钟节拍有什么关系呢。学习单片机的时候一个语句执行速度在us级别,而操作系统的时钟节拍单位在ms级别,在每个时钟节拍中,单片机可以做很多事情吧?程序执行完OSTIMESET(0)马上就会执行while(OSTIME<500的程序了),给了操作系统调度的时间了吗?上次调度和下次调度时间间隔不是ms级别吗?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1020浏览 1评论
1849浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1359浏览 1评论
1851浏览 0评论
1177浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 21:54 , Processed in 0.803247 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1187