xt-sdk 文档
v1.0.3
xt-sdk 嵌入式 SDK API 参考
Toggle main menu visibility
载入中...
搜索中...
未找到
xt_timer.h
浏览该文件的文档.
1
12
13
#ifndef __XT_TIMER_H__
14
#define __XT_TIMER_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
36
#define XT_TIMER_INVALID_ID ((uint32_t)0U)
37
38
/* ==================== [Typedefs] ========================================== */
39
45
typedef
void (*
xt_timer_cb_t
)(
void
*user_data);
46
47
/* ==================== [Global Prototypes] ================================= */
48
52
void
xt_timer_setup
(
void
);
53
62
uint32_t
xt_timer_start
(
xt_timer_cb_t
timer_cb,
void
*user_data, uint32_t timeout_ms);
63
69
void
xt_timer_stop_no_safe
(uint32_t timer_id);
70
77
uint32_t
xt_timer_remain
(uint32_t timeout_tick);
78
84
uint32_t
xt_timer_handler
(
void
);
85
86
#define xt_timer_stop(timer_id) do { \
87
uint32_t _xt_tmp_id_ = (timer_id); \
88
if (_xt_tmp_id_ != XT_TIMER_INVALID_ID) { \
89
xt_timer_stop_no_safe(_xt_tmp_id_); \
90
(timer_id) = XT_TIMER_INVALID_ID; \
91
} \
92
} while (0)
93
94
/* ==================== [Macros] ============================================ */
95
/* xt_timer */
97
98
#ifdef __cplusplus
99
}
/* extern "C" */
100
#endif
101
102
#endif
/* __XT_TIMER_H__ */
xt_timer_remain
uint32_t xt_timer_remain(uint32_t timeout_tick)
获取剩余超时 tick 数
xt_timer_setup
void xt_timer_setup(void)
初始化软件定时器模块
xt_timer_start
uint32_t xt_timer_start(xt_timer_cb_t timer_cb, void *user_data, uint32_t timeout_ms)
启动一个软件定时器
xt_timer_cb_t
void(* xt_timer_cb_t)(void *user_data)
软件定时器回调函数类型
定义
xt_timer.h:45
xt_timer_handler
uint32_t xt_timer_handler(void)
定时器主循环处理函数
xt_timer_stop_no_safe
void xt_timer_stop_no_safe(uint32_t timer_id)
停止软件定时器(无安全检查版本)
xtiny.h
XTINY 总头文件
components
xt_task
xt_timer.h
生成于
, 为 xt-sdk 文档使用
1.17.0