XFusion API v1.3.0
载入中...
搜索中...
未找到
ttask

定时器任务。 更多...

ttask 的协作图:

结构体

struct  _xf_ttask_config_t
 ttask 创建传输参数。 更多...
 

宏定义

#define XF_TASK_TYPE_TTASK   XF_TASK_TYPE_ttask
 ttask 类型值。 XF_TASK_TYPE_ttask 通过 xf_task_reg.inc 拼接而来。
 
#define XF_TTASK_INFINITE_LOOP   ((uint32_t) - 1)
 

类型定义

typedef struct _xf_ttask_config_t xf_ttask_config_t
 ttask 创建传输参数。
 

函数

static xf_task_t xf_ttask_create_with_manager (xf_task_manager_t manager, xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms, uint32_t count)
 指定任务管理器创建 ttask。
 
static xf_task_t xf_ttask_create_loop_with_manager (xf_task_manager_t manager, xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms)
 指定任务管理器创建循环 ttask。
 
xf_err_t xf_ttask_set_count (xf_task_t task, uint32_t count)
 设置 ttask 循环次数。其不能超过循环次数的上限。
 
uint32_t xf_ttask_get_count (xf_task_t task)
 获取 ttask 循环次数。
 
xf_err_t xf_ttask_set_count_max (xf_task_t task, uint32_t count_max)
 设置 ttask 循环次数的上限。
 
static xf_task_t xf_ttask_create (xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms, uint32_t count)
 在默认的任务管理下,创建 ttask 任务。
 
static xf_task_t xf_ttask_create_loop (xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms)
 在默认的任务管理下,创建 ttask 循环任务。
 
static xf_task_pool_t xf_ttask_pool_create_with_manager (uint32_t max_works, xf_task_manager_t manager, uint32_t delay_ms, uint32_t count)
 在指定的任务管理下,创建 ttask 任务池。
 
static xf_task_pool_t xf_ttask_pool_create (uint32_t max_works, uint32_t delay_ms, uint32_t count)
 在默认的任务管理下,创建 ttask 任务池。
 

详细描述

定时器任务。

宏定义说明

◆ XF_TASK_TYPE_TTASK

#define XF_TASK_TYPE_TTASK   XF_TASK_TYPE_ttask

ttask 类型值。 XF_TASK_TYPE_ttask 通过 xf_task_reg.inc 拼接而来。

在文件 xf_ttask.h39 行定义.

◆ XF_TTASK_INFINITE_LOOP

#define XF_TTASK_INFINITE_LOOP   ((uint32_t) - 1)

ttask 无限循环

在文件 xf_ttask.h40 行定义.

类型定义说明

◆ xf_ttask_config_t

ttask 创建传输参数。

函数说明

◆ xf_ttask_create_with_manager()

static xf_task_t xf_ttask_create_with_manager ( xf_task_manager_t  manager,
xf_task_func_t  func,
void *  func_arg,
uint16_t  priority,
uint32_t  delay_ms,
uint32_t  count 
)
inlinestatic

指定任务管理器创建 ttask。

参数
manager任务管理器对象。
func任务执行的函数。
func_arg用户自定义执行函数参数。
priority任务优先级。
delay_ms任务延时周期。
count任务循环的次数上限。
返回
xf_task_t task 对象。返回为 NULL 则表示创建失败

在文件 xf_ttask.h65 行定义.

◆ xf_ttask_create_loop_with_manager()

static xf_task_t xf_ttask_create_loop_with_manager ( xf_task_manager_t  manager,
xf_task_func_t  func,
void *  func_arg,
uint16_t  priority,
uint32_t  delay_ms 
)
inlinestatic

指定任务管理器创建循环 ttask。

参数
manager任务管理器对象。
func任务执行的函数。
func_arg用户自定义执行函数参数。
priority任务优先级。
delay_ms任务延时周期。
返回
xf_task_t task 对象。返回为 NULL 则表示创建失败

在文件 xf_ttask.h83 行定义.

◆ xf_ttask_set_count()

xf_err_t xf_ttask_set_count ( xf_task_t  task,
uint32_t  count 
)

设置 ttask 循环次数。其不能超过循环次数的上限。

参数
task任务对象。
count循环次数。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置成功

在文件 xf_ttask.c57 行定义.

◆ xf_ttask_get_count()

uint32_t xf_ttask_get_count ( xf_task_t  task)

获取 ttask 循环次数。

参数
task任务对象。
返回
uint32_t 循环次数

在文件 xf_ttask.c78 行定义.

◆ xf_ttask_set_count_max()

xf_err_t xf_ttask_set_count_max ( xf_task_t  task,
uint32_t  count_max 
)

设置 ttask 循环次数的上限。

参数
task任务对象。
count_max循环次数上限。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 设置成功

在文件 xf_ttask.c87 行定义.

◆ xf_ttask_create()

static xf_task_t xf_ttask_create ( xf_task_func_t  func,
void *  func_arg,
uint16_t  priority,
uint32_t  delay_ms,
uint32_t  count 
)
inlinestatic

在默认的任务管理下,创建 ttask 任务。

参数
functtask 任务执行的函数。
func_arg用户自定义执行函数参数。
priority任务优先级。
delay_ms任务延时周期,单位为毫秒。
count任务循环的次数上限。
返回
xf_task_t 任务对象,返回为 NULL 则表示创建失败
示例
examples/task/ttask/main/xf_main.c.

在文件 xf_task.h145 行定义.

◆ xf_ttask_create_loop()

◆ xf_ttask_pool_create_with_manager()

static xf_task_pool_t xf_ttask_pool_create_with_manager ( uint32_t  max_works,
xf_task_manager_t  manager,
uint32_t  delay_ms,
uint32_t  count 
)
inlinestatic

在指定的任务管理下,创建 ttask 任务池。

参数
max_works任务池最大工作任务数。
manager任务管理器。
delay_ms任务延时,单位为毫秒。
count任务循环的次数上限。
返回
xf_task_pool_t 任务池对象,返回为 NULL 则表示创建失败

在文件 xf_task.h243 行定义.

◆ xf_ttask_pool_create()

static xf_task_pool_t xf_ttask_pool_create ( uint32_t  max_works,
uint32_t  delay_ms,
uint32_t  count 
)
inlinestatic

在默认的任务管理下,创建 ttask 任务池。

参数
max_works任务池最大工作任务数。
delay_ms任务延时,单位为毫秒。
count任务循环的次数上限。
返回
xf_task_pool_t 任务池对象,返回为 NULL 则表示创建失败
示例
examples/task/task_pool/main/xf_main.c.

在文件 xf_task.h258 行定义.