Merge pull request #4797 from Guozhanxin/usleep

[update] usleep supports calling in interrupts.
This commit is contained in:
guo 2021-06-15 18:49:57 +08:00 committed by GitHub
commit 302c8bf23f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 1 deletions

View File

@ -54,8 +54,15 @@ unsigned int sleep(unsigned int seconds)
RTM_EXPORT(sleep); RTM_EXPORT(sleep);
int usleep(useconds_t usec) int usleep(useconds_t usec)
{
if (rt_thread_self() != RT_NULL)
{ {
rt_thread_mdelay(usec / 1000u); rt_thread_mdelay(usec / 1000u);
}
else
{
rt_hw_us_delay(usec / 1000u);
}
rt_hw_us_delay(usec % 1000u); rt_hw_us_delay(usec % 1000u);
return 0; return 0;
} }