HAL
HAL layer above libopencm3 library.
 All Files Functions Macros Groups Pages
DELAY module

Spin-waiting blocking API. More...

Functions

static void delay_cycles (const int64_t cycles)
 Spin-wait delay, spinning specified amount of processor cycles. More...
 
static void delay_us (uint32_t us, uint64_t cpufreq)
 Spin-wait delay, spinning specified amount of microseconds. More...
 
static void delay_ms (uint32_t ms, uint64_t cpufreq)
 Spin-wait delay, spinning specified amount of microseconds. More...
 

Detailed Description

Spin-waiting blocking API.

LGPL License Terms HAL License

Function Documentation

INLINE void delay_cycles ( const int64_t  cycles)
static

Spin-wait delay, spinning specified amount of processor cycles.

Note
this function can be used for delays of max 2500000 cycles. For larger delays, please consider using timers or other waiting techniques.
Parameters
[in]cyclesCycles count need to spent in spin-wait

Definition at line 99 of file delay.h.

References _delay_3t().

Referenced by delay_ms(), and delay_us().

INLINE void delay_ms ( uint32_t  ms,
uint64_t  cpufreq 
)
static

Spin-wait delay, spinning specified amount of microseconds.

Note
this function can be used for delays max 25 sec @ 168MHz CPU clock, or max 525 sec @ 8MHz CPU clock! For larger delays, please consider using timers or other waiting techniques.
Parameters
[in]msMilliseconds needed to spin wait.
[in]cpufreqCurrent CPU frequency in Hz

Definition at line 130 of file delay.h.

References delay_cycles().

INLINE void delay_us ( uint32_t  us,
uint64_t  cpufreq 
)
static

Spin-wait delay, spinning specified amount of microseconds.

Note
this function can be used for delays max 25 sec @ 168MHz CPU clock, or max 525 sec @ 8MHz CPU clock! For larger delays, please consider using timers or other waiting techniques.
Parameters
[in]usMicroseconds needed to spin wait.
[in]cpufreqCurrent CPU frequency in Hz

Definition at line 120 of file delay.h.

References delay_cycles().