os_tick_get
所属模块:系统时间 | 类型:时间查询函数
函数简介
os_tick_get 用于获取系统当前 tick 计数值(高16位 + 低16位)。
该函数通过关闭中断保证读取过程的原子性,避免在读取过程中 tick 发生变化。
常用于时间统计、运行时间计算与调度调试。
函数原型
void os_tick_get(u16 *high, u16 *low);
参数说明
| 参数 |
说明 |
| high |
输出参数:tick计数高16位 |
| low |
输出参数:tick计数低16位 |
源码实现
void os_tick_get(u16 *high, u16 *low)
{
u8 i;
i = EA;
EA = 0;
*high = OS_TICK_COUNT_H;
*low = OS_TICK_COUNT_L;
EA = i;
}
使用示例
void debug_time()
{
u16 h, l;
os_tick_get(&h, &l);
// 计算或打印tick
}
注意事项
该函数在读取过程中会关闭中断以保证数据一致性,执行时间极短,不影响系统实时性。