XFusion API v1.3.0
载入中...
搜索中...
未找到
examples/task/trigger/main/xf_main.c

xf_task 外部触发任务示例。

/* ==================== [Includes] ========================================== */
#include "xf_task.h"
/* ==================== [Defines] =========================================== */
#define TAG "trigger"
/* ==================== [Typedefs] ========================================== */
/* ==================== [Static Prototypes] ================================= */
static void ntask(xf_task_t task);
/* ==================== [Static Variables] ================================== */
static xf_task_t *task1;
/* ==================== [Macros] ============================================ */
/* ==================== [Global Functions] ================================== */
void xf_main(void)
{
// 创建一个任务用于触发task1
xf_ttask_create_loop(ntask, (void *)1, 1, 2000);
// 当延时为0的时候,只能通过外部信号触发
}
/* ==================== [Static Functions] ================================== */
static void ntask(xf_task_t task)
{
intptr_t num = (intptr_t) xf_task_get_arg(task);
XF_LOGI(TAG, "task:%d", num);
}
{
intptr_t num = (intptr_t) xf_task_get_arg(task);
XF_LOGI(TAG, "task:%d", num);
}
void xf_main(void)
Definition xf_main.c:28
static xf_task_t xf_ttask_create_loop(xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms)
在默认的任务管理下,创建 ttask 循环任务。
Definition xf_task.h:162
#define TAG
Definition xf_main.c:24
static void ntask(xf_task_t task)
Definition xf_main.c:48
static void ntask_trigger(xf_task_t task)
Definition xf_main.c:57
static xf_task_t * task1
Definition xf_main.c:34
static void task(xf_task_t task)
Definition xf_main.c:45
#define XF_LOGI(tag, format,...)
xf_err_t xf_task_trigger(xf_task_t task)
任务触发。无论是否到达唤醒时间,都会触发。
void * xf_task_get_arg(xf_task_t task)
从任务对象获取任务自定义参数。
void * xf_task_t
任务句柄。