summaryrefslogtreecommitdiff
path: root/src/clock.c
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2019-05-20 20:33:07 +0800
committerGitHub <[email protected]>2019-05-20 20:33:07 +0800
commitb2ae7d72f923e1638f72d8eba5c2131389b741b0 (patch)
treeab526e2e216f5f656b9c6a53221382d07c7bac2e /src/clock.c
parentd778c9df25cbbd8e202a0133453e4c8b8e179eff (diff)
parent35eff9a85dd1e922f98d36deed84bdfb3c8319f7 (diff)
Merge pull request #2703 from armink/lts-v3.1.x
Lts v3.1.x
Diffstat (limited to 'src/clock.c')
-rw-r--r--src/clock.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/clock.c b/src/clock.c
index 36ff398376..e969a19b5e 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -98,15 +98,20 @@ void rt_tick_increase(void)
*
* @return the calculated tick
*/
-int rt_tick_from_millisecond(rt_int32_t ms)
+rt_tick_t rt_tick_from_millisecond(rt_int32_t ms)
{
- int tick;
+ rt_tick_t tick;
if (ms < 0)
- tick = RT_WAITING_FOREVER;
+ {
+ tick = (rt_tick_t)RT_WAITING_FOREVER;
+ }
else
- tick = (RT_TICK_PER_SECOND * ms + 999) / 1000;
-
+ {
+ tick = RT_TICK_PER_SECOND * (ms / 1000);
+ tick += (RT_TICK_PER_SECOND * (ms % 1000) + 999) / 1000;
+ }
+
/* return the calculated tick */
return tick;
}