完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题:函数 vTaskDelay() 能引发任务切换吗?
刚开始学习FreeRTOS,在实践原子哥讲的第一个小实验 任务创建与删除 有些不明白,求指点。 [C] 纯文本查看 复制代码 //task2任务函数void task2_task(void *pvParameters){u8 task2_num=0;while(1){task2_num++;//任务2执行次数加1 注意task1_num2加到255的时候会清零!! LED1=!LED1;printf("任务2已经执行:%d次rn",task2_num); vTaskDelay(1000); //延时1s,也就是1000个时钟节拍}} Task1跟Task2类似,但是优先级低于Task2。 困惑:当Task2执行到vTaskDelay(1000)时,是不是会进入阻塞态,等待延时结束,同时进行任务切换去执行Task1? |
|
相关推荐
2个回答
|
|
|
|
vTaskDelay() 将本任务阻塞掉,让出CPU占用,其它已就绪任务可执行。
|
|
|
|
只有小组成员才能发言,加入小组>>
818 浏览 0 评论
1162 浏览 1 评论
2536 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2720 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1114浏览 3评论
198浏览 2评论
465浏览 2评论
382浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
462浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 06:37 , Processed in 0.944918 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号