summaryrefslogtreecommitdiff
path: root/src/clock.c
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2020-12-29 00:08:24 +0800
committerMeco Man <[email protected]>2020-12-29 00:08:24 +0800
commitc2e15e003c60fd0aeb412dbc7c6deb1c1f55a0ef (patch)
tree0b773a142e053128248159f4cc9bef7f799693f2 /src/clock.c
parent3bca2cfb418f03c529fc8563b62c19d391caf90b (diff)
add function rt_hw_1ms_tick_get()
Diffstat (limited to 'src/clock.c')
-rw-r--r--src/clock.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/clock.c b/src/clock.c
index 9fd276cf6f..778126fb23 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -13,6 +13,7 @@
* 2010-07-13 Bernard fix rt_tick_from_millisecond issue found by kuronca
* 2011-06-26 Bernard add rt_tick_set function.
* 2018-11-22 Jesven add per cpu tick
+ * 2020-12-29 Meco Man add function rt_hw_1ms_tick_get()
*/
#include <rthw.h>
@@ -116,5 +117,21 @@ rt_tick_t rt_tick_from_millisecond(rt_int32_t ms)
}
RTM_EXPORT(rt_tick_from_millisecond);
+/**
+ * This function provides a tick value ALWAYS in millisecond
+ *
+ * @return 1ms-based tick
+ */
+RT_WEAK rt_tick_t rt_hw_1ms_tick_get(void)
+{
+#if 1000 % RT_TICK_PER_SECOND == 0
+ return rt_tick_get() * (1000U / RT_TICK_PER_SECOND);
+#else
+ #warning "rt-thread cannot provide a correct 1ms-based tick any longer,\
+ please redefine this function in another file by using a high-precision hard-timer."
+ return 0;
+#endif
+}
+
/**@}*/