当前位置: 首页 > news >正文

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

相关文章:

  • IDEA遇到问题汇总
  • kernel32!GetQueuedCompletionStatus函数分析之返回值得有效性
  • 2025蓝桥杯算法竞赛深度突破:创新题型与高阶策略全解析
  • 【2025年泰迪杯数据挖掘挑战赛】B题 详细解题思路+数据预处理+代码分享
  • AI 谄媚式回应 | 善用成器,滥用成殇
  • Linux基础2
  • MCU刷写——S19(S-Record)文件格式详解及Python代码
  • 图像前后处理代码
  • Web信息收集
  • 【STM32】ST7789屏幕驱动
  • Windows中xxx.dll动态链接库文件转xxx.a静态库文件
  • Python Cookbook-5.15 根据姓的首字母将人名排序和分组
  • 深入解析 Spring AI Alibaba 多模态对话模型:构建下一代智能应用的实践指南
  • QML 中的 QVariantMap
  • Python Cookbook-5.14 给字典类型增加排名功能
  • CSPM认证对项目论证的范式革新:从合规审查到价值创造的战略跃迁
  • MicroPython 开发ESP32应用教程 之 I2S、INMP441音频录制、MAX98357A音频播放、SD卡读写
  • 5Why分析法
  • 低压电工怎么备考,刷题题库分享
  • MySQL Slow Log
  • 电子商务网站建设与管理答案b/流量精灵官网
  • 贵州能源网站 中企动力建设/seo排名点击 seo查询
  • 北京优化网站公司/百度产品优化排名软件
  • 阿里巴巴上做网站要多少钱/最新热点新闻
  • wordpress主题js文件在哪/关键词排名优化公司地址
  • 太原专业制作网站/推广计划