定时器
2026/4/26大约 1 分钟基础知识定时器API
定时器
一、函数
os_timer_create
os_timer_id os_timer_create(const char *name, void (*func)(void *parameter), void *parameter, os_tick_t time, os_uint8_t flag);功能: 创建定时器
参数:
- name: 定时器名称
- func: 超时回调函数
- parameter: 回调参数
- time: 超时时间
- flag: 标志
- OS_TIMER_FLAG_ONE_SHOT: 单次触发
- OS_TIMER_FLAG_PERIODIC: 周期性触发
os_timer_delete
os_err_t os_timer_delete(os_timer_id timer);功能: 删除定时器
os_timer_start
os_err_t os_timer_start(os_timer_id timer);功能: 启动定时器
os_timer_stop
os_err_t os_timer_stop(os_timer_id timer);功能: 停止定时器
os_timer_set_time
os_err_t os_timer_set_time(os_timer_id timer, os_tick_t time);功能: 设置超时时间
os_timer_get_time
os_tick_t os_timer_get_time(os_timer_id timer);功能: 获取超时时间
os_timer_get_remaining_time
os_tick_t os_timer_get_remaining_time(os_timer_id timer);功能: 获取剩余时间
OS_TIMER_DEFINE
#define OS_TIMER_DEFINE(name) os_timer_dummy_t name功能: 静态定义定时器
os_timer_init
os_err_t os_timer_init(os_timer_id timer, const char *name, void (*func)(void *parameter), void *parameter, os_tick_t time, os_uint8_t flag);功能: 初始化静态定时器
os_timer_deinit
os_err_t os_timer_deinit(os_timer_id timer);功能: 反初始化静态定时器
二、结构体
struct dummy_timer_active_node
{
#ifdef OS_USING_HASH_BUCKET_TIMER
os_list_node_t active_list_dummy;
uint8_t info_dummy;
#endif
#if OS_TIMER_PERIODIC_COMPENSATE
os_tick_t timeout_tick_dummy;
#endif
uint8_t flag_dummy;
};
typedef struct dummy_timer_active_node dummy_timer_active_node_t;
struct dummy_timer
{
void (*timeout_func_dummy)(void *timeout_param); /* Timeout function. */
void *parameter_dummy; /* Timeout function's parameter. */
os_tick_t init_ticks_dummy; /* Timer timeout tick. */
os_tick_t round_ticks_dummy; /* Timeout tick remaining. */
#ifdef OS_USING_HASH_BUCKET_TIMER
uint32_t index_dummy;
#endif
os_list_node_t list_dummy;
dummy_timer_active_node_t active_node_dummy;
char name_dummy[OS_NAME_MAX + 1];
};
typedef struct dummy_timer dummy_timer_t;