XFusion API
v1.3.0
载入中...
搜索中...
未找到
examples/task/ntask/main/xf_main.c
xf_task 无栈协程示例。
/* ==================== [Includes] ========================================== */
#include "xf_task.h"
/* ==================== [Defines] =========================================== */
#define TAG "example_ntask"
/* ==================== [Typedefs] ========================================== */
/* ==================== [Static Prototypes] ================================= */
static
void
xf_main_task
(
xf_task_t
task
);
/* ==================== [Static Variables] ================================== */
/* ==================== [Macros] ============================================ */
/* ==================== [Global Functions] ================================== */
void
xf_main
(
void
)
{
xf_ntask_create
(
xf_main_task
, (
void
*)1, 1);
}
/* ==================== [Static Functions] ================================== */
xf_async_t
test
(
xf_task_t
task
,
int
a)
{
XF_NTASK_BEGIN
(
task
);
XF_LOGI
(
TAG
,
"task:%d"
, a);
xf_ntask_delay
(1000);
a =
xf_ntask_args_get_int
(
task
,
"a"
);
XF_LOGI
(
TAG
,
"task:%d"
, a);
XF_NTASK_END
();
}
static
void
xf_main_task
(
xf_task_t
task
)
{
XF_NTASK_BEGIN
(
task
);
int
a = 2;
xf_ntask_args_set_int
(
task
,
"a"
, a);
while
(1) {
xf_await
(
test
(
task
, 1));
}
XF_NTASK_END
();
}
xf_main
void xf_main(void)
Definition
xf_main.c:28
XF_NTASK_BEGIN
#define XF_NTASK_BEGIN(ntask)
Definition
xf_ntask.h:193
xf_await
#define xf_await(func)
Definition
xf_ntask.h:264
XF_NTASK_END
#define XF_NTASK_END()
Definition
xf_ntask.h:199
xf_async_t
void xf_async_t
Definition
xf_ntask.h:262
xf_ntask_args_set_int
xf_err_t xf_ntask_args_set_int(xf_task_t *task, const char *name, int value)
保存整数变量
Definition
xf_ntask.c:114
xf_ntask_delay
#define xf_ntask_delay(delay_ms)
Definition
xf_ntask.h:229
xf_ntask_args_get_int
int xf_ntask_args_get_int(xf_task_t *task, const char *name)
获取保存的整数变量
Definition
xf_ntask.c:87
TAG
#define TAG
Definition
xf_main.c:24
xf_main_task
static void xf_main_task(xf_task_t task)
Definition
xf_main.c:56
test
xf_async_t test(xf_task_t task, int a)
Definition
xf_main.c:44
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_ntask_create
static xf_task_t xf_ntask_create(xf_task_func_t func, void *func_arg, uint16_t priority)
Definition
xf_task.h:175
xf_task_t
void * xf_task_t
任务句柄。
Definition
xf_task_manager.h:40
生成于 2025年 一月 21日 星期二 17:25:08 , 为 XFusion API使用
1.9.8