xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_timer2.h 文件参考

新版软件定时器接口(对象化、单链表、new/delete 生命周期) 更多...

#include "xtiny.h"

浏览该文件的源代码.

结构体

struct  xt_timer2
 定时器对象 更多...

宏定义

#define XT_TIMER2_TIMEOUT_MAX   INT32_MAX
 最大超时 tick 数(INT32_MAX,约 24.8 天 @ 1ms/tick)
#define XT_TIMER2_DEBUG   1
 调试模式开关,默认开启。关闭后移除 magic 字段和校验
#define XT_TIMER2_MAGIC   (0x159DU)
 Magic 值,用于检测内存踩踏
#define XT_TIMER2_FREE_MAGIC   ((void *)0xA1B2C3D4)
 内存池空闲槽位魔数标记

类型定义

typedef uint32_t xt_tick2_t
 tick 类型,32 位无符号
typedef struct xt_timer2 xt_timer2_t
 定时器句柄(前向声明)
typedef void(* xt_timer2_cb_t) (xt_timer2_t *t, void *user_data)
 定时器回调函数类型

函数

xt_timer2_t * xt_timer2_new (xt_timer2_cb_t timer_cb, void *user_data)
 动态分配并初始化一个定时器
xt_err_t xt_timer2_delete (xt_timer2_t *t)
 删除定时器并释放内存
xt_err_t xt_timer2_setup (xt_timer2_t *t, xt_timer2_cb_t timer_cb, void *user_data)
 配置定时器回调函数和用户数据(不启动)
xt_err_t xt_timer2_start (xt_timer2_t *t, xt_tick2_t tick_timeout)
 启动/重启定时器,挂入工作链表
xt_err_t xt_timer2_stop (xt_timer2_t *t)
 停止定时器,从工作链表摘下
bool xt_timer2_is_running (xt_timer2_t *t)
 查询定时器是否在工作链表上
xt_err_t xt_timer2_set_cb (xt_timer2_t *t, xt_timer2_cb_t cb)
 设置回调函数
xt_err_t xt_timer2_set_user_data (xt_timer2_t *t, void *user_data)
 设置用户数据
xt_tick2_t xt_timer2_remain (xt_tick2_t timeout_tick)
 计算剩余超时 tick 数(有符号差值,天然回绕安全)
xt_tick2_t xt_timer2_handler (void)
 定时器主循环处理函数,需在主循环中周期性调用
void xt_timer2_sys_setup (xt_timer2_t *pool_buf, size_t pool_count)
 初始化定时器子系统内存池
void xt_timer2_sys_reset (void)
 重置定时器子系统运行时状态(仅测试/调试用)
void xt_timer2_enable_custom_tick (bool enable)
 启停自定义 tick 模式(测试用)
void xt_tick2_inc (xt_tick2_t inc)
 手动推进自定义 tick
void xt_tick2_set (xt_tick2_t val)
 手动设置自定义 tick 值
xt_tick2_t xt_tick2_get (void)
 获取当前系统 tick 值

详细描述

新版软件定时器接口(对象化、单链表、new/delete 生命周期)

作者
your name (you@d.nosp@m.omai.nosp@m.n.com)
版本
0.2
日期
2026-06-13

SPDX-FileCopyrightText: 2025 深圳市天工聚创科技有限公司 SPDX-License-Identifier: Apache-2.0

在文件 xt_timer2.h 中定义.