1 简述
和每个RTOS系统一样,程序由任务组成,每个任务根据优先级来执行,该文章不对具体调度进行分析,应该是该分类均不深入讨论,而是作为一个快速使用手册的存在
2 示例
头文件
#include <ti/sysbios/knl/Task.h>
定义
#define TASKSTACKSIZE 768
static uint8_t taskStack[TASKSTACKSIZE];
Task_Struct taskStruct;
任务体,LED定时翻转
Void taskFxn(UArg arg0, UArg arg1)
{
//BMA423_INIT
while (1) {
led_reverse();
CPUdelay(3000*4*2000);//2s
}
}
注册任务
void node_task_init(ti_sysbios_knl_Task_FuncPtr fp_fxn)
{
Task_Params taskParams;
Task_Params_init(&taskParams);
//taskParams.arg0 = 1000000 / Clock_tickPeriod;
taskParams.stackSize = TASKSTACKSIZE;
taskParams.priority = 2;//优先级
taskParams.stack = &taskStack;
Task_construct(&taskStruct, (Task_FuncPtr)fp_fxn, &taskParams, NULL);
}
主函数调用
node_task_init(&taskFxn);