完善资料让更多小伙伴认识你,还能领取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级别吗?
|
|
|
|
只有小组成员才能发言,加入小组>>
696 浏览 1 评论
2123 浏览 5 评论
2437 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2201 浏览 6 评论
2167 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
318浏览 9评论
307浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
439浏览 6评论
301浏览 5评论
352浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-29 02:44 , Processed in 0.832191 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号