在 µC/OS-II 或 µC/OS-III 中,任务的优先级是一个重要的概念,优先级决定了任务的调度顺序。优先级的值越小,任务的优先级越高。OS_LOWEST_PRIO 是 µC/OS 内核中定义的一个宏,表示系统中允许的最低优先级(即最大优先级值)。用户任务的最低优先级与 OS_LOWEST_PRIO 有直接关系。
在 µC/OS 中,优先级的范围是从 0 到 OS_LOWEST_PRIO。优先级的值越小,任务的优先级越高。0:最高优先级,通常用于空闲任务(OS_IdleTask)。OS_LOWEST_PRIO:最低优先级。
OS_LOWEST_PRIO 是 µC/OS 内核中定义的一个宏,表示系统中允许的最低优先级。
它的值在 os_cfg.h 中配置,默认值通常为 63(µC/OS-II)或 255(µC/OS-III),具体取决于内核版本和配置。OS_LOWEST_PRIO配置如下图所示:
系统有两个任务:空闲任务和统计任务(如果启用)。空闲任务的优先级固定为 OS_LOWEST_PRIO。统计任务,如果启用的话,优先级通常为 OS_LOWEST_PRIO - 1。
如果未启用了统计任务(OS_TaskStat),用户的最低优先级通常为 OS_LOWEST_PRIO - 1, 如果未启用了统计任务(OS_TaskStat),用户任务的最低优先级为 OS_LOWEST_PRIO - 2。
统计任务的宏OS_TASK_STAT_EN在 os_cfg.h 文件中定义,用于配置统计任务的行为定义统计任务。配置为1时,启用统计任务,配置为0时,不启用统计任务。