欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > FreeRTOS使任务处于运行态的API ?

FreeRTOS使任务处于运行态的API ?

2025/4/15 7:04:11 来源:https://blog.csdn.net/weixin_42963788/article/details/147168592  浏览:    关键词:FreeRTOS使任务处于运行态的API ?

在 FreeRTOS 中,任务的**运行态(Running State)**是任务实际占用 CPU 执行代码的状态。FreeRTOS 的调度器(Scheduler)会根据任务优先级和调度策略自动选择就绪态中的最高优先级任务进入运行态。没有直接通过 API 强制任务进入运行态的方法,但可以通过以下操作使阻塞或挂起的任务进入就绪态:


1. 触发调度器切换任务

任务的运行态由调度器自动管理,但可以通过以下方式触发调度器重新选择任务:

  • taskYIELD()
    主动让出 CPU,触发调度器重新选择最高优先级的就绪态任务运行。
    • 用途:在任务中手动切换任务(例如协作式调度)。
    • 示例
      // 任务 A 执行部分操作后主动让出 CPU
      vTaskDelay(pdMS_TO_TICKS(1)); // 短暂阻塞或直接让出
      taskYIELD();                   // 显式触发调度
      

2. 提升任务优先级

  • vTaskPrioritySet(TaskHandle_t xTask, UBaseType_t uxNewPriority)
    提高任务的优先级,使其在就绪态中优先级最高,从而被调度器选中进入运行态。
    • 示例
      vT

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词