μC/OS-II的实验内容简介
OS_MAX_MEM_TASKS定义用户程序中最大的任务数。OS_MAX_MEM_TASKS不能大于62,这是由于μC/OS-II保留了两个系统使用的任务。如果设定OS_MAX_MEM_TASKS刚好等于所需任务数,则建立新任务时要注意检查是否超过限定。而OS_MAX_MEM_TASKS设定的太大则会浪费内存。 OS_LOWEST_PRIO
OS_LOWEST_PRIO设定系统中的任务最低优先级(最大优先级数)。设定OS_LOWEST_PRIO可以节省用于任务控制块的内存。μC/OS-II中优先级数从0(最高优先级)到63(最低优先级)。设定OS_LOWEST_PRIO小于63意味着不会建立优先级数大于OS_LOWEST_PRIO的任务。μC/OS-II中保留两个优先级系统自用:OS_LOWEST_PRIO和OS_LOWEST_PRIO-1。其中OS_LOWEST_PRIO留给系统的空闲任务(Idle task)(OSTaskIdle())。OS_LOWEST_PRIO-1留给统计任务(OSTaskStat())。用户任务的优先级可以从0到OS_LOWEST_PRIO-2。OS_LOWEST_PRIO和OS_MAX_TASKS之间没有什么关系。例如,可以设OS_MAX_TASKS为10而OS_LOWEST_PRIO为32。此时系统最多可有10个任务,用户任务的优先级可以是0到30。当然,OS_LOWEST_PRIO设定的优先级也要够用,例如设OS_MAX_TASKS为20,而OS_LOWEST_PRIO为10,优先级就不够用了。 此常量标识调用OSTimeTick()函数的频率。用户需要在自己的初始化程序中保证OSTimeTick()按所设定的频率调用(即系统硬件定时器中断发生的频率----译者注)。在函数OSStatInit(),OSTaskStat()和OSTimeDlyHMSM()中都会用到OS_TICKS_PER_SEC。
2024-10-13 广告