xt-sdk 文档
v1.0.3
xt-sdk 嵌入式 SDK API 参考
Toggle main menu visibility
载入中...
搜索中...
未找到
xt_event.h
浏览该文件的文档.
1
12
13
#ifndef __XT_EVENT_H__
14
#define __XT_EVENT_H__
15
16
/* ==================== [Includes] ========================================== */
17
18
#include "
xtiny.h
"
19
#if (XT_TASK_ENABLE_OS)
20
#include "cmsis_os2.h"
21
#endif
22
23
#ifdef __cplusplus
24
extern
"C"
{
25
#endif
26
33
34
/* ==================== [Defines] =========================================== */
35
37
#define XT_EVENT_INVALID_ID 0
38
39
/* ==================== [Typedefs] ========================================== */
40
42
typedef
uint32_t
xt_event_id_t
;
43
50
typedef
void (*
xt_event_cb_t
)(
void
*param,
void
*user_data);
51
52
/* ==================== [Global Prototypes] ================================= */
53
62
xt_err_t
xt_event_setup
(
void
);
63
80
xt_err_t
xt_event_subscribe
(
xt_event_id_t
event_id,
xt_event_cb_t
event_cb,
void
*user_data);
81
95
xt_err_t
xt_event_unsubscribe
(
xt_event_id_t
event_id,
xt_event_cb_t
event_cb);
96
109
xt_err_t
xt_event_publish
(
xt_event_id_t
event_id,
void
*param);
110
124
xt_err_t
xt_event_publish_sync
(
xt_event_id_t
event_id,
void
*param);
125
133
xt_event_id_t
xt_event_get_current_event_id
(
void
);
134
142
void
*
xt_event_get_current_event_param
(
void
);
143
153
bool
xt_event_ready
(
void
);
154
163
xt_err_t
xt_event_handler
(
void
);
164
165
#if (XT_TASK_ENABLE_OS)
166
void
xt_event_setup_os_ext(
void
);
167
void
xt_event_publish_os_ext(
xt_event_id_t
id
,
void
*param, uint32_t param_size);
168
void
xt_event_pre_handler_os_ext(uint32_t timeout);
169
#endif
170
171
/* ==================== [Macros] ============================================ */
172
174
#define xt_event_get_current() xt_event_get_current_event_id()
176
#define xt_event_current_get_param() xt_event_get_current_event_param()
177
/* xt_event */
179
180
#ifdef __cplusplus
181
}
/* extern "C" */
182
#endif
183
184
#endif
/* __XT_EVENT_H__ */
xt_err_t
int32_t xt_err_t
错误码类型
定义
xt_error.h:38
xt_event_ready
bool xt_event_ready(void)
查询事件队列是否非空
xt_event_publish_sync
xt_err_t xt_event_publish_sync(xt_event_id_t event_id, void *param)
同步发布事件(立即分发)
xt_event_get_current_event_id
xt_event_id_t xt_event_get_current_event_id(void)
获取当前正在处理的事件 ID
xt_event_cb_t
void(* xt_event_cb_t)(void *param, void *user_data)
事件回调函数类型
定义
xt_event.h:50
xt_event_setup
xt_err_t xt_event_setup(void)
初始化事件系统
xt_event_subscribe
xt_err_t xt_event_subscribe(xt_event_id_t event_id, xt_event_cb_t event_cb, void *user_data)
订阅事件(去重匹配)
xt_event_id_t
uint32_t xt_event_id_t
事件 ID 类型,32 位无符号
定义
xt_event.h:42
xt_event_get_current_event_param
void * xt_event_get_current_event_param(void)
获取当前事件参数
xt_event_unsubscribe
xt_err_t xt_event_unsubscribe(xt_event_id_t event_id, xt_event_cb_t event_cb)
取消订阅(匹配清除)
xt_event_publish
xt_err_t xt_event_publish(xt_event_id_t event_id, void *param)
发布事件到队列(异步)
xt_event_handler
xt_err_t xt_event_handler(void)
处理事件队列中的所有事件
xtiny.h
XTINY 总头文件
components
xt_task
xt_event.h
生成于
, 为 xt-sdk 文档使用
1.17.0