beary 发表于 2015-10-30 11:00:07

小白提问,关于freeRTOS的任务调度

创建了两个task如果一个优先级高一个优先级低,
我看到任务的函数都是用死循环做的,那个高优先级的那个一直在做,什么时候会调度到低优先级的呢?

风子 发表于 2015-10-30 11:21:54

休眠,延时,挂起等

pwdzsj 发表于 2015-10-30 14:38:27

应该是高优先级执行完毕吧

chuyans 发表于 2015-10-30 15:11:43

While循环中调用相关函数,导致上下文切换到另一个任务

anger0925 发表于 2015-10-30 15:28:55

看了操作系统任务处理与调度,你就明白了

moyanming2013 发表于 2015-10-30 16:59:23

当高优先级的任务进入阻塞状态时,RTOS会把它调出,并调入剩余优先级最高的任务并开始执行。
要看你的高优先级任务在什么情况下阻塞?

szgaos 发表于 2015-10-30 17:21:06

高优先级如有vTaskDelay之类的delay函数,运行时就会在这让当前线程休眠,跑去去行低优先级的,时间再再让优先级先后来调用
页: [1]
查看完整版本: 小白提问,关于freeRTOS的任务调度