完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有以下几个问题:
1、当最高优先级任务函数里面没有调用发生任务切换的API函数时,会不会发生任务切换? 2、当高优先级任务,放弃CPU使用权发生任务切换,如果低优先级任务,没有调用任务切换API函数,会一直执行低优先级任务吗? 3、当使用信号量做任务同步时,等待信号量的任务是不是需要考虑优先级,如果优先级过低,是不是信号量有了也不会执行? |
|
相关推荐
6个回答
|
|
1、会,因为systick中断服务函数里面会调用任务切换函数。
2、不会,因为systick中断服务函数里面会调用任务切换函数。 3、不会!任务能不能获取到信号量只与你的信号量是否有效有关,跟任务优先级没有关系。 |
|
|
|
意思就是,如果任务有信号量就会一直执行,没有就一直在等待信号量,CPU执行其他的程序
|
|
|
|
看开发板配套的UCOS开发手册,里面对信号量的讲解!
|
|
|
|
这个问题,明白了。
还有另外一个问题,最高优先级任务延时100ms发生任务切换,这个时候CPU去执行低优先级任务,在100ms延时到了之后,如果低优先级任务还在执行,系统是不是会直接打断,转去执行高优先级任务 |
|
|
|
你可以这样理解 任务有了 信号量了 就从等待状态 变为就绪状态了 然后根据优先级 进行调度 高优先级里面向低优先级发信号 不会运行地优先级的任务 等高优先级的任务挂起后 才会运行低优先级的任务 不知道我这样说 你明白了没
|
|
|
|
谢谢,明白了
|
|
|
|
只有小组成员才能发言,加入小组>>
939 浏览 1 评论
2330 浏览 5 评论
2647 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2457 浏览 6 评论
2357 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
501浏览 9评论
512浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
615浏览 6评论
489浏览 5评论
526浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-1 14:24 , Processed in 1.112920 second(s), Total 88, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191