XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
时间 的协作图:

宏定义

#define XWTM_TC_PER_S   XWOSDL_SKD_TC_PER_S
 

函数

static xwtm_t xwtm_now (void)
 XWOS API:获取当前CPU的系统时间点
 
static xwtm_t xwtm_ft (xwtm_t dur)
 XWOS API:获取当前CPU的未来 系统时间
 
static xwtm_t xwtm_nowts (void)
 XWOS API:获取当前CPU的系统时间戳
 
static xwtm_t xwtm_fts (xwtm_t dur)
 XWOS API:获取当前CPU的未来 系统时间戳
 
static xwtk_t xwtm_nowtc (void)
 XWOS API:获取当前CPU的系统滴答计数
 

详细描述

XWOS的 时间xwtm_t 表示。系统滴答定时器中断的次数用 xwtk_t 表示。 参考 XWOS的时间类型

获取当前的系统时间

获取未来的系统时间

宏定义说明

◆ XWTM_TC_PER_S

#define XWTM_TC_PER_S   XWOSDL_SKD_TC_PER_S

每秒滴答定时器中断的次数

在文件 time.h41 行定义.

函数说明

◆ xwtm_ft()

static xwtm_t xwtm_ft ( xwtm_t  dur)
inlinestatic

XWOS API:获取当前CPU的未来 系统时间

参数
[in]dur从现在开始到未来的时间
返回
未来时间点
注解
  • 上下文:线程、中断、中断底半部、空闲任务

未来系统时间点 = 当前系统时间点 + dur

在文件 time.h72 行定义.

73{
74 xwtm_t from;
75 xwtm_t to;
76
77 from = xwtm_now();
78 to = xwtm_add_safely(from, dur);
79 return to;
80}
static __xwcc_inline xwtm_t xwtm_add_safely(const xwtm_t a, const xwtm_t b)
将两个系统时间相加,并检查溢出
Definition type.h:822
xws64_t xwtm_t
XWOS系统时间 (有符号)
Definition type.h:742
static xwtm_t xwtm_now(void)
XWOS API:获取当前CPU的系统时间点
Definition time.h:57
函数调用图:
这是这个函数的调用关系图:

◆ xwtm_fts()

static xwtm_t xwtm_fts ( xwtm_t  dur)
inlinestatic

XWOS API:获取当前CPU的未来 系统时间戳

参数
[in]dur从现在开始到未来的时间
返回
未来时间
注解
  • 上下文:线程、中断、中断底半部、空闲任务

未来时间戳 = 当前时间时间戳 + dur

在文件 time.h114 行定义.

115{
116 xwtm_t from;
117 xwtm_t to;
118
119 from = xwtm_nowts();
120 to = xwtm_add_safely(from, dur);
121 return to;
122}
static xwtm_t xwtm_nowts(void)
XWOS API:获取当前CPU的系统时间戳
Definition time.h:99
函数调用图:

◆ xwtm_now()

static xwtm_t xwtm_now ( void  )
inlinestatic

XWOS API:获取当前CPU的系统时间点

返回
当前时间点
注解
  • 上下文:线程、中断、中断底半部、空闲任务

XWOS中,每个CPU都有一个私有的滴答定时器,产生周期性的定时中断。 系统时间 在每次中断时都会增加一次。

系统时间 是每CPU私有变量。代码运行在哪个CPU,访问的就是哪个私有变量。

XWOS的系统时间 = 滴答时间定时器中断的次数 * 中断的周期(以纳秒为单位)

在文件 time.h57 行定义.

58{
59 return xwosdl_skd_get_time_lc();
60}
这是这个函数的调用关系图:

◆ xwtm_nowtc()

static xwtk_t xwtm_nowtc ( void  )
inlinestatic

XWOS API:获取当前CPU的系统滴答计数

返回
滴答计数
注解
  • 上下文:线程、中断、中断底半部、空闲任务

系统滴答计数 是每CPU私有变量。代码运行在哪个CPU,访问的就是哪个私有变量。

XWOS的系统滴答计数 = 滴答时间定时器中断的次数

在文件 time.h135 行定义.

136{
137 return xwosdl_skd_get_tick_lc();
138}

◆ xwtm_nowts()

static xwtm_t xwtm_nowts ( void  )
inlinestatic

XWOS API:获取当前CPU的系统时间戳

返回
当前系统时间戳
注解
  • 上下文:线程、中断、中断底半部、空闲任务

系统时间戳 类似于 系统时间 。但是 系统时间 只会在滴答定时器的 每次中断时才增加一次,两次中断之间不会发生变化。

通过获取滴答定时器的计数器的值,计算出上一次中断后经过了多少时间, 再累加到 系统时间 上,即为 系统时间戳

系统时间戳 是每CPU私有变量。代码运行在哪个CPU,访问的就是哪个私有变量。

XWOS的系统时间戳 = XWOS的系统时间 + 滴答定时器距离下一次中断还有多少时间

在文件 time.h99 行定义.

100{
101 return xwosdl_skd_get_timestamp_lc();
102}
这是这个函数的调用关系图: