Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
Functions | |
| MBED_DEPRECATED_SINCE ("mbed-os-5.14","'wait' is deprecated in favor of explicit sleep functions. To sleep, 'wait' should be replaced by ""'ThisThread::sleep_for' (C++) or 'thread_sleep_for' (C). If you wish to wait (without sleeping), call ""'wait_us'. 'wait_us' is safe to call from ISR context.") void wait(float s) | |
| Generic wait functions. | |
| MBED_DEPRECATED_SINCE ("mbed-os-5.14","'wait_ms' is deprecated in favor of explicit sleep functions. To sleep, 'wait_ms' should be replaced by ""'ThisThread::sleep_for' (C++) or 'thread_sleep_for' (C). If you wish to wait (without sleeping), call ""'wait_us'. 'wait_us' is safe to call from ISR context.") void wait_ms(int ms) | |
| Waits a number of milliseconds. | |
| void | wait_us (int us) |
| Waits a number of microseconds. | |
| void | wait_ns (unsigned int ns) |
| Waits a number of nanoseconds. | |
Function Documentation
| MBED_DEPRECATED_SINCE | ( | "mbed-os-5.14" | , |
| "'wait_ms' is deprecated in favor of explicit sleep functions. To | sleep, | ||
| 'wait_ms'should be replaced by""'ThisThread::sleep_for' | C++) or 'thread_sleep_for'(C).If you wish to wait(without sleeping, | ||
| call""'wait_us'. 'wait_us'is safe to call from ISR context." | |||
| ) |
Waits a number of milliseconds.
- Parameters:
-
ms the whole number of milliseconds to wait
- Note:
- If the RTOS is present, it calls ThisThread::sleep_for(), which is same as CMSIS osDelay(). You can't call this from interrupts, and it doesn't lock hardware sleep.
| MBED_DEPRECATED_SINCE | ( | "mbed-os-5.14" | , |
| "'wait' is deprecated in favor of explicit sleep functions. To | sleep, | ||
| 'wait'should be replaced by""'ThisThread::sleep_for' | C++) or 'thread_sleep_for'(C).If you wish to wait(without sleeping, | ||
| call""'wait_us'. 'wait_us'is safe to call from ISR context." | |||
| ) |
Generic wait functions.
These provide simple NOP type wait capabilities.
Example:
#include "mbed.h" DigitalOut heartbeat(LED1); int main() { while (1) { heartbeat = 1; wait(0.5); heartbeat = 0; wait(0.5); } }
Waits for a number of seconds, with microsecond resolution (within the accuracy of single precision floating point).
- Parameters:
-
s number of seconds to wait
- Note:
- If the RTOS is present, this function spins to get the exact number of microseconds for microsecond precision up to 10 milliseconds. If delay is larger than 10 milliseconds and not in ISR, it is the same as `wait_ms`. We recommend `wait_us` and `wait_ms` over `wait`.
| void wait_ns | ( | unsigned int | ns ) |
Waits a number of nanoseconds.
This function spins the CPU to produce a small delay. It should normally only be used for delays of 10us (10000ns) or less. As it is calculated based on the expected execution time of a software loop, it may well run slower than requested based on activity from other threads and interrupts. If greater precision is required, this can be called from inside a critical section.
- Parameters:
-
ns the number of nanoseconds to wait
- Note:
- wait_us() will likely give more precise time than wait_ns for large-enough delays, as it is based on a timer, but its set-up time may be excessive for the smallest microsecond counts, at which point wait_ns() is better.
- Any delay larger than a millisecond (1000000ns) is liable to cause overflow in the internal loop calculation. You shouldn't normally be using this for such large delays anyway in real code, but be aware if calibrating. Make repeated calls for longer test runs.
- You may call this function from ISR context.
Definition at line 150 of file mbed_wait_api_no_rtos.c.
| void wait_us | ( | int | us ) |
Waits a number of microseconds.
- Parameters:
-
us the whole number of microseconds to wait
- Note:
- This function always spins to get the exact number of microseconds. This will affect power and multithread performance. Therefore, spinning for millisecond wait is not recommended, and ThisThread::sleep_for should be used instead.
- You may call this function from ISR context, but large delays may impact system stability - interrupt handlers should take less than 50us.
Definition at line 83 of file mbed_wait_api_no_rtos.c.
Generated on Tue Jul 12 2022 13:55:26 by
1.7.2