diff --git a/components/libc/newlib/syscalls.c b/components/libc/newlib/syscalls.c index 55c19ccee93994425aba9f36021c1ca6d6da6df5..ff09a4fe80acb7ae8993d7cea6f864ec8e53f073 100644 --- a/components/libc/newlib/syscalls.c +++ b/components/libc/newlib/syscalls.c @@ -293,7 +293,7 @@ int libc_get_time(struct timespec *time) tick = rt_tick_get(); time->tv_sec = _timevalue.tv_sec + tick / RT_TICK_PER_SECOND; - time->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * NANOSECOND_PER_TICK) * 1000; + time->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * MICROSECOND_PER_TICK) * 1000; return 0; } @@ -308,7 +308,7 @@ _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp) if (__tp != RT_NULL) { __tp->tv_sec = tp.tv_sec; - __tp->tv_usec = tp.tv_nsec * 1000UL; + __tp->tv_usec = tp.tv_nsec / 1000UL; } return tp.tv_sec; @@ -331,7 +331,7 @@ _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp) if (__tp != RT_NULL) { __tp->tv_sec = tp.tv_sec; - __tp->tv_usec = tp.tv_nsec * 1000UL; + __tp->tv_usec = tp.tv_nsec / 1000UL; } return tp.tv_sec; diff --git a/components/libc/pthreads/clock_time.c b/components/libc/pthreads/clock_time.c index 06227e17e7a7ef81ffb43bf00a6df5e253ade31f..072ab84f107e854871484a695cea0da13c1a9d2b 100644 --- a/components/libc/pthreads/clock_time.c +++ b/components/libc/pthreads/clock_time.c @@ -112,7 +112,7 @@ int clock_gettime(clockid_t clockid, struct timespec *tp) tick = rt_tick_get(); tp->tv_sec = _timevalue.tv_sec + tick / RT_TICK_PER_SECOND; - tp->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * NANOSECOND_PER_TICK) * 1000; + tp->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * MICROSECOND_PER_TICK) * 1000; return 0; }