os_clock.h 源码
2026/7/20大约 1 分钟源码参考内核时钟头文件
os_clock.h — 系统时钟接口头文件
源文件路径: kernel/include/os_clock.h
引用章节: 4.5.1 系统时钟
完整源码
#ifndef __OS_CLOCK_H__
#define __OS_CLOCK_H__
#include <os_types.h>
#include <oneos_config.h>
#ifdef __cplusplus
extern "C" {
#endif
#define OS_MS_PER_SECOND 1000
/* 获取当前系统 tick 值 */
extern os_tick_t os_tick_get_value(void);
/* 设置系统 tick 值(通常仅内核使用) */
extern void os_tick_set_value(os_tick_t tick);
/* tick 自增(由 Systick ISR 调用) */
extern void os_tick_increase(void);
/* 毫秒转 tick */
extern os_tick_t os_tick_from_ms(uint32_t ms);
/* tick 转毫秒 */
extern uint32_t os_ms_from_tick(os_tick_t tick);
/* 获取每秒 tick 数(OS_TICK_PER_SECOND) */
extern uint32_t os_get_ticks_per_second(void);
#ifdef OS_USING_TICKLESS_LPMGR
/* Tickless 模式:获取可睡眠的 tick 数 */
extern os_tick_t os_tickless_get_sleep_ticks(void);
/* Tickless 模式:唤醒后补偿 tick */
extern void os_tickless_update(os_tick_t sleep_ticks);
#endif
#ifdef __cplusplus
}
#endif
#endif /* __OS_CLOCK_H__ */关键说明
| API | 功能 | 说明 |
|---|---|---|
os_tick_get_value | 获取当前 tick | 系统启动以来的累计 tick 数 |
os_tick_increase | tick 自增 | 由硬件定时器 ISR 调用,每次中断+1 |
os_tick_from_ms | 毫秒→tick | 基于 OS_TICK_PER_SECOND 换算 |
os_tickless_get_sleep_ticks | 低功耗 | Tickless 模式下计算可睡眠时间 |