xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_timer(软件定时器)

XTINY 软件定时器接口(数组池、ID 索引方式) 更多...

宏定义

#define XT_TIMER_INVALID_ID   ((uint32_t)0U)
#define xt_timer_stop(timer_id)

类型定义

typedef void(* xt_timer_cb_t) (void *user_data)
 软件定时器回调函数类型

函数

void xt_timer_setup (void)
 初始化软件定时器模块
uint32_t xt_timer_start (xt_timer_cb_t timer_cb, void *user_data, uint32_t timeout_ms)
 启动一个软件定时器
void xt_timer_stop_no_safe (uint32_t timer_id)
 停止软件定时器(无安全检查版本)
uint32_t xt_timer_remain (uint32_t timeout_tick)
 获取剩余超时 tick 数
uint32_t xt_timer_handler (void)
 定时器主循环处理函数

详细描述

XTINY 软件定时器接口(数组池、ID 索引方式)

宏定义说明

◆ XT_TIMER_INVALID_ID

#define XT_TIMER_INVALID_ID   ((uint32_t)0U)

在文件 xt_timer.h 第 36 行定义.

◆ xt_timer_stop

#define xt_timer_stop ( timer_id)
值:
do { \
uint32_t _xt_tmp_id_ = (timer_id); \
if (_xt_tmp_id_ != XT_TIMER_INVALID_ID) { \
xt_timer_stop_no_safe(_xt_tmp_id_); \
(timer_id) = XT_TIMER_INVALID_ID; \
} \
} while (0)
#define XT_TIMER_INVALID_ID

在文件 xt_timer.h 第 86 行定义.

类型定义说明

◆ xt_timer_cb_t

typedef void(* xt_timer_cb_t) (void *user_data)

软件定时器回调函数类型

参数
user_data用户透传数据

在文件 xt_timer.h 第 45 行定义.

函数说明

◆ xt_timer_handler()

uint32_t xt_timer_handler ( void )

定时器主循环处理函数

返回
uint32_t 下次超时前需等待的最小 tick 数

◆ xt_timer_remain()

uint32_t xt_timer_remain ( uint32_t timeout_tick)

获取剩余超时 tick 数

参数
timeout_tick绝对超时 tick 值
返回
uint32_t 剩余 tick 数,0 表示已到期

◆ 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 )

启动一个软件定时器

参数
timer_cb超时回调函数
user_data回调透传数据
timeout_ms超时时间(单位:ms)
返回
uint32_t 定时器 ID,XT_TIMER_INVALID_ID 表示失败

◆ xt_timer_stop_no_safe()

void xt_timer_stop_no_safe ( uint32_t timer_id)

停止软件定时器(无安全检查版本)

参数
timer_id定时器 ID