W800开发套件鸿蒙系统教程

W800开发套件鸿蒙系统教程


4.1 liteos任务的创建删除与延时等操作

4.1.1 创建任务

SDK中设置了一个操作系统抽象层,使得FreeRTOS和liteos系统中主要的一些功能都封装成统一的API,这个抽象层源码实现位于文件wm_osal_liteos.cwm_osal_rtos.c里面。

创建一个系统任务使用下面的API:

tls_os_status_t tls_os_task_create(tls_os_task_t *task,
      const char* name,
      void (*entry)(void* param),
      void* param,
      u8 *stk_start,
      u32 stk_size,
      u32 prio,
      u32 flag)

参数含义:

  • task:任务句柄,用于删除任务或修改任务属性等操作
  • entry:任务处理函数入口指针
  • param:传给任务函数的参数指针
  • stk_start:任务堆栈起始地址。这个参数需要注意,liteos中无需在外部申请任务堆栈,API内部自动申请,所以这里可以传空值,但是FreeRTOS需要在外部申请空间作为任务堆栈,然后用该参数传入。
  • stk_size:任务堆栈大小,字节
  • prio:任务优先级。liteos优先级默认32以内,0是最高优先级
  • flag:任务标志位

返回值:


4.1.2 删除任务

tls_os_status_t tls_os_task_del_by_task_handle(void *handle, void (*freefun)(void))

参数:

  • handle:任务句柄,创建任务时的第一个参数
  • freefun:删除任务后的回调函数

4.1.3 详细示例

关于系统任务的详细使用方法请参考w800-liteos-sdk内核分析教程相关章节内容: 点击查看liteos系统任务的使用示例

页面列表

ITEM_HTML