Skip to content

Commit 31ff6fe

Browse files
authored
[clock]添加 rt_tick_get_delta 函数
1 parent 99fc1bb commit 31ff6fe

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

include/rtthread.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ void rt_object_put_sethook(void (*hook)(struct rt_object *object));
9898
* clock & timer interface
9999
*/
100100
rt_tick_t rt_tick_get(void);
101+
rt_tick_t rt_tick_get_delta(rt_tick_t base);
101102
void rt_tick_set(rt_tick_t tick);
102103
void rt_tick_increase(void);
103104
void rt_tick_increase_tick(rt_tick_t tick);

src/clock.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,22 @@ rt_tick_t rt_tick_get(void)
7373
}
7474
RTM_EXPORT(rt_tick_get);
7575

76+
/**
77+
* @brief This function will return delta tick from base.
78+
*
79+
* @param base to consider
80+
*
81+
* @return Return delta tick.
82+
*/
83+
rt_tick_t rt_tick_get_delta(rt_tick_t base)
84+
{
85+
rt_tick_t tnow = rt_tick_get();
86+
if (tnow >= base)
87+
return tnow - base;
88+
return RT_TICK_MAX - base + tnow + 1;
89+
}
90+
RTM_EXPORT(rt_tick_get_delta);
91+
7692
/**
7793
* @brief This function will set current tick.
7894
*

0 commit comments

Comments
 (0)