小白提问,关于freeRTOS的任务调度
创建了两个task如果一个优先级高一个优先级低,我看到任务的函数都是用死循环做的,那个高优先级的那个一直在做,什么时候会调度到低优先级的呢?
休眠,延时,挂起等 应该是高优先级执行完毕吧 While循环中调用相关函数,导致上下文切换到另一个任务 看了操作系统任务处理与调度,你就明白了 当高优先级的任务进入阻塞状态时,RTOS会把它调出,并调入剩余优先级最高的任务并开始执行。
要看你的高优先级任务在什么情况下阻塞? 高优先级如有vTaskDelay之类的delay函数,运行时就会在这让当前线程休眠,跑去去行低优先级的,时间再再让优先级先后来调用
页:
[1]