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
void
ntask_trigger
(
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的时候,只能通过外部信号触发
task1
=
xf_ttask_create_loop
(
ntask_trigger
, (
void
*)2, 1, 0);
}
/* ==================== [Static Functions] ================================== */
static
void
ntask
(
xf_task_t
task
)
{
intptr_t num = (intptr_t)
xf_task_get_arg
(
task
);
xf_task_trigger
(
task1
);
XF_LOGI
(
TAG
,
"task:%d"
, num);
}
static
void
ntask_trigger
(
xf_task_t
task
)
{
intptr_t num = (intptr_t)
xf_task_get_arg
(
task
);
XF_LOGI
(
TAG
,
"task:%d"
, num);
}
xf_main
void xf_main(void)
Definition
xf_main.c:28
xf_ttask_create_loop
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
TAG
#define TAG
Definition
xf_main.c:24
ntask
static void ntask(xf_task_t task)
Definition
xf_main.c:48
ntask_trigger
static void ntask_trigger(xf_task_t task)
Definition
xf_main.c:57
task1
static xf_task_t * task1
Definition
xf_main.c:34
task
static void task(xf_task_t task)
Definition
xf_main.c:45
XF_LOGI
#define XF_LOGI(tag, format,...)
Definition
xf_log_uitls.h:44
xf_task_trigger
xf_err_t xf_task_trigger(xf_task_t task)
任务触发。无论是否到达唤醒时间,都会触发。
Definition
xf_task_kernel.c:150
xf_task_get_arg
void * xf_task_get_arg(xf_task_t task)
从任务对象获取任务自定义参数。
Definition
xf_task_kernel.c:66
xf_task_t
void * xf_task_t
任务句柄。
Definition
xf_task_manager.h:40
生成于 2025年 一月 21日 星期二 17:25:08 , 为 XFusion API使用
1.9.8