谷动谷力

 找回密码
 立即注册
查看: 2555|回复: 0
打印 上一主题 下一主题
收起左侧

FreeRTOS任务-任务状态

[复制链接]
跳转到指定楼层
楼主
发表于 2022-2-25 21:02:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
FreeRTOS任务
[更多关于任务... ]
FreeRTOS 教程书籍 提供有关任务及其行为的更多详细信息 。
任务状态任务可以存在以下状态之一:
  • 运行当一个任务实际执行时,它被称为处于运行状态。它目前正在使用处理器。如果运行 RTOS 的处理器只有一个内核,那么在任何给定时间只能有一个任务处于运行状态。
  • 准备好就绪任务是那些能够执行(它们不处于阻塞或挂起状态)但当前未执行的任务,因为具有相同或更高优先级的不同任务已经处于运行状态。
  • 阻塞如果任务当前正在等待时间或外部事件,则称该任务处于阻塞状态。例如,如果一个任务调用 vTaskDelay() 它将阻塞(被置于阻塞状态)直到延迟期到期 - 一个临时事件。任务也可以阻塞以等待队列、信号量、事件组、通知或信号量事件。处于阻塞状态的任务通常有一个“超时”时间段,在此之后任务将超时并被解除阻塞,即使任务等待的事件尚未发生。
    Blocked 阻塞状态的任务不使用任何处理时间,不能选择进入 Running 运行状态。
  • 暂停与 Blocked 状态的任务一样,Suspended 状态的任务无法选择进入 Running 状态,但 Suspended 状态的任务没有超时。相反,任务仅在分别通过 vTaskSuspend() 和 xTaskResume() API 调用明确命令时进入或退出暂停状态。

有效的任务状态转换

+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-30 22:51 , Processed in 0.073330 second(s), 40 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表