xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_hal_timer.h
浏览该文件的文档.
1
12
13#ifndef __XT_HAL_TIMER_H__
14#define __XT_HAL_TIMER_H__
15
16/* ==================== [Includes] ========================================== */
17
18#include "xt_hal_internal.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
30
31/* ==================== [Defines] =========================================== */
32
33#define XT_HAL_TIMER_INVALID_ID (0xFFFF)
34
35#define XT_HAL_TIMER_ACTIVE_BITS_S (0) // [0..0]
36#define XT_HAL_TIMER_ACTIVE_BITS_W (1)
37#define XT_HAL_TIMER_AUTO_RELOAD_BITS_S (1) // [1..1]
38#define XT_HAL_TIMER_AUTO_RELOAD_BITS_W (1)
39#define XT_HAL_TIMER_DIR_BITS_S (2) // [2..2]
40#define XT_HAL_TIMER_DIR_BITS_W (2)
41
42#define XT_HAL_TIMER_START (0x00 << XT_HAL_TIMER_ACTIVE_BITS_S)
43#define XT_HAL_TIMER_STOP (0x01 << XT_HAL_TIMER_ACTIVE_BITS_S)
44#define XT_HAL_TIMER_ONE_SHOT (0x00 << XT_HAL_TIMER_AUTO_RELOAD_BITS_S)
45#define XT_HAL_TIMER_PERIODIC (0x01 << XT_HAL_TIMER_AUTO_RELOAD_BITS_S)
46#define XT_HAL_TIMER_DIR_UP (0x00 << XT_HAL_TIMER_DIR_BITS_S)
47#define XT_HAL_TIMER_DIR_DOWN (0x01 << XT_HAL_TIMER_DIR_BITS_S)
48#define XT_HAL_TIMER_DEFAULT_MODE (XT_HAL_TIMER_PERIODIC | XT_HAL_TIMER_DIR_UP | XT_HAL_TIMER_START)
49
50/* ==================== [Typedefs] ========================================== */
51
58
65typedef void (*xt_hal_timer_cb_t)(uint8_t timer_id, uint32_t event_id);
66
67/* ==================== [Global Prototypes] ================================= */
68
86 uint32_t mode,
87 uint32_t tick_freq_hz,
88 uint32_t tick_num,
90
97xt_err_t xt_hal_timer_close(uint8_t timer_id);
98
105xt_err_t xt_hal_timer_start(uint8_t timer_id);
106
113xt_err_t xt_hal_timer_stop(uint8_t timer_id);
114
125uint32_t xt_hal_timer_get_clk_src_freq(uint8_t timer_id);
126
135uint32_t xt_hal_timer_get_prescaler(uint8_t timer_id);
136
143uint32_t xt_hal_timer_get_count(uint8_t timer_id);
144
145/* ==================== [Macros] ============================================ */
146 /* xt_hal_timer */
148
149#ifdef __cplusplus
150} /* extern "C" */
151#endif
152
153#endif /* __XT_HAL_TIMER_H__ */
int32_t xt_err_t
错误码类型
xt_err_t xt_hal_timer_stop(uint8_t timer_id)
停止定时器
xt_err_t xt_hal_timer_close(uint8_t timer_id)
关闭定时器
xt_err_t xt_hal_timer_start(uint8_t timer_id)
启动定时器
uint32_t xt_hal_timer_get_count(uint8_t timer_id)
获取定时器当前计数值
xt_hal_timer_event_id
定时器事件 ID 枚举
xt_err_t xt_hal_timer_setup(uint8_t timer_id, uint32_t mode, uint32_t tick_freq_hz, uint32_t tick_num, xt_hal_timer_cb_t cb)
初始化定时器
uint32_t xt_hal_timer_get_clk_src_freq(uint8_t timer_id)
获取定时器时钟源频率
void(* xt_hal_timer_cb_t)(uint8_t timer_id, uint32_t event_id)
定时器回调函数类型定义
uint32_t xt_hal_timer_get_prescaler(uint8_t timer_id)
获取定时器实际分频值
@ XT_HAL_TIMER_EVENT_TIMEOUT
XTINY HAL 内部公共头文件