时钟管理

优质
小牛编辑
131浏览
2023-12-01

时钟管理接口

函数

rt_tick_t rt_tick_get (void)
 获取系统时钟节拍值
 
void rt_tick_set (rt_tick_t tick)
 设置系统时钟节拍值
 
void rt_tick_increase (void)
 增加系统时钟节拍值
 
int rt_tick_from_millisecond (rt_int32_t ms)
 节拍到毫秒的转换
 

详细描述

时钟管理接口

RT-Thread的时钟管理以时钟节拍为基础,时钟节拍指的是周期性硬件定时器两次中断间的间隔时间长度, 这个周期性硬件定时器称之为系统时钟。时钟节拍(OS Tick)是RT-Thread 操作系统中最小的时钟单位, 系统节拍一般定义为32位无符号整数,提供给应用程序所有和时间有关的服务, 如线程的延时、线程的时间片轮转调度以及定时器超时等,从系统启动开始计数的时钟节拍数称为系统时间。 时钟节拍来源于定时器的周期性中断,一次中断表示一个OS Tick。 OS Tick的长度可以根据RT_TICK_PER_SECOND的定义来调整, 等于1/RT_TICK_PER_SECOND秒,精度越高的时钟将导致系统中定时器频繁检查。

函数说明

rt_tick_t rt_tick_get(void )

获取系统时钟节拍值

该函数将返回自操作系统启动以来到当前的系统时钟计数值

返回
当前系统节拍计数值
示例:
hwtimer_sample.c , 以及 priority_inversion.c.
void rt_tick_set(rt_tick_t tick)

设置系统时钟节拍值

该函数将设定当前的系统时钟节拍计数值。

void rt_tick_increase(void )

增加系统时钟节拍值

该函数将通知内核经过了一个系统时钟的时间,通常该函数在时钟中断里调用。

int rt_tick_from_millisecond(rt_int32_t ms)

节拍到毫秒的转换

该函数把毫秒转换为系统时钟节拍计数值。

参数
ms指定的时间(毫秒)
  • 为负数时将永远等待
  • 为0时不等待立即返回
  • 最大值为 0x7fffffff
返回
计算后的系统时钟节拍数