xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
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
24extern "C" {
25#endif
26
33
34/* ==================== [Defines] =========================================== */
35
37#define XT_EVENT_INVALID_ID 0
38
39/* ==================== [Typedefs] ========================================== */
40
42typedef uint32_t xt_event_id_t;
43
50typedef void (*xt_event_cb_t)(void *param, void *user_data);
51
52/* ==================== [Global Prototypes] ================================= */
53
63
80xt_err_t xt_event_subscribe(xt_event_id_t event_id, xt_event_cb_t event_cb, void *user_data);
81
96
110
125
134
143
153bool xt_event_ready(void);
154
164
165#if (XT_TASK_ENABLE_OS)
166void xt_event_setup_os_ext(void);
167void xt_event_publish_os_ext(xt_event_id_t id, void *param, uint32_t param_size);
168void 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__ */
int32_t xt_err_t
错误码类型
bool xt_event_ready(void)
查询事件队列是否非空
xt_err_t xt_event_publish_sync(xt_event_id_t event_id, void *param)
同步发布事件(立即分发)
xt_event_id_t xt_event_get_current_event_id(void)
获取当前正在处理的事件 ID
void(* xt_event_cb_t)(void *param, void *user_data)
事件回调函数类型
xt_err_t xt_event_setup(void)
初始化事件系统
xt_err_t xt_event_subscribe(xt_event_id_t event_id, xt_event_cb_t event_cb, void *user_data)
订阅事件(去重匹配)
uint32_t xt_event_id_t
事件 ID 类型,32 位无符号
void * xt_event_get_current_event_param(void)
获取当前事件参数
xt_err_t xt_event_unsubscribe(xt_event_id_t event_id, xt_event_cb_t event_cb)
取消订阅(匹配清除)
xt_err_t xt_event_publish(xt_event_id_t event_id, void *param)
发布事件到队列(异步)
xt_err_t xt_event_handler(void)
处理事件队列中的所有事件
XTINY 总头文件