(一)系统任务(空闲任务、统计任务)与优先级配置

本文介绍了UC/OS-II操作系统中的系统任务,包括空闲任务OSTaskIdle()和统计任务OSTaskStat()。空闲任务允许用户在其中添加自定义代码,而统计任务用于每秒计算CPU使用率。启用统计任务需设置OS_TASK_STAT_EN为1,并调用OSStatInit()初始化。任务优先级从0到OS_LOWEST_PRIO(默认14),数字越小优先级越高。空闲任务优先级最低,统计任务次之。用户可创建的任务优先级范围为0到(OS_LOWEST_PRIO-2)。
摘要由CSDN通过智能技术生成

系统任务:空闲任务与统计任务       

1、空闲任务OSTaskIdle()是每个应用程序必须使用的,如果用户认为有必要,那么也可在空闲任务中编写一些做用户工作的代码。

系统代码:

void 0STaskIdle(void *pdata)
{
#if OS_CRITICAL_METHOD == 3
    0S_CPU_SR cpu_sr;
#endif
    pdata = pdata; //避免定义了又未使用导致编译错误或警告
    for(;;)
   {
       OS_ENTER_CRITICAL(); //关中断
          OSdleCtr++; //空闲任务运行计数器
       0S_EXIT_CRITICAL(); //开放中断
    }
}

2、统计任务OSTaskStat()每秒计算一次CPU在单位时间内被使用的时间,计算结果以百分比的形式存放在变量0SCPUsage中。可以根据应用程序实际情况来选择是否使用统计任务

如果使用统计任务:

①在系统头文件OS_CFG.H中的系统配置常数OS_TASK_STAT_EN 

#define OS_TASK_STAT_EN    1

②在程序中调用函数OSStatInit()统计任务进行初始化

任务的优先权及优先级别         

UC/OS-II按优先级抢占式规则,每个任务分配一个唯一的优先级别,优先级别高的任务先运行,优先级别低的任务后运行。优先级别最多64级,用整数数字表示,即0、1、2、3、4。。。数字越小,优先级别越高。

①在系统配置文件OS_CFG.H中定义了最低优先级别常数OS_LOWEST_PRIO

#define OS_LOWEST_PRIO  14

那么系统中可供使用的级别为0、1、2、3、4……OS_LOWEST_PRIO,任务总数不能超过(OS_LOWEST_PRIO + 1)个(15个)。

②系统自动的将最低优先级别OS_LOWEST_PRIO赋给空闲任务,如果统计任务启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值