diff --git a/components/libc/posix/delay/delay.c b/components/libc/posix/delay/delay.c index 564291328c0a0a77eef4cda38999a34f3cda42d8..de8b9bbf76d011d2794125af7ebe960c48812351 100644 --- a/components/libc/posix/delay/delay.c +++ b/components/libc/posix/delay/delay.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2021, RT-Thread Development Team + * Copyright (c) 2006-2023, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -66,12 +66,12 @@ int usleep(useconds_t usec) if (rt_thread_self() != RT_NULL) { msleep(usec / 1000u); + udelay(usec % 1000u); } else /* scheduler has not run yet */ { - udelay(usec / 1000u * 1000u); + udelay(usec); } - udelay(usec % 1000u); return 0; }