快速入门


4.1 任务创建

在SDK中,通过操作系统抽象层的API进行新任务的创建:tls_os_task_create

下面代码片段是创建一个新任务的示例:

tls_os_task_t tststarthdl = NULL;

void task_start (void *data)
{
    while(1) {
        printf("task is running\n");
        tls_os_time_delay(1000);
    }
}

int main(void)
{
    tls_os_task_create(&tststarthdl, "user_tsk",
                       task_start,
                       (void *)0,
                       (void *)NULL,
                       1024, // 任务栈的大小     
                       5,
                       0);
}
  • 第一个参数是任务句柄,之后可以根据该句柄对此任务进行删除/暂停/恢复运行/查询状态等等操作
  • 第二个参数是任务名
  • 第三个参数是任务的处理函数
  • 第四个参数是传给任务处理函数的参数
  • 第五个参数是任务堆栈的首地址,LiteOS中不用传,设置为NULL即可;FreeRTOS中需要在外部申请堆栈然后将堆栈地址通过此参数传给系统保存到任务控制块中
  • 第六个参数是任务堆栈大小
  • 第七个参数是任务优先级
  • 第八个参数是标志位,一般不用

页面列表

ITEM_HTML