AVR functions for busy-wait delay loops.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include <compiler.h>
Convenience functions for busy-wait delay loops | |
#define | delay_cycles __portable_avr_delay_cycles |
Delay program execution for a specified number of CPU cycles. More... | |
#define | cpu_ms_2_cy(ms, f_cpu) (((uint64_t)(ms) * (f_cpu) / 6 + 999) / 1e3) |
Convert milli-seconds into CPU cycles. More... | |
#define | cpu_us_2_cy(us, f_cpu) (((uint64_t)(us) * (f_cpu) / 6 + 999999ul) / 1e6) |
Convert micro-seconds into CPU cycles. More... | |
#define | cpu_delay_ms(delay, f_cpu) delay_cycles((uint64_t)cpu_ms_2_cy(delay, f_cpu)) |
Delay program execution for a specified number of milliseconds. More... | |
#define | cpu_delay_us(delay, f_cpu) delay_cycles((uint64_t)cpu_us_2_cy(delay, f_cpu)) |
Delay program execution for a specified number of microseconds. More... | |
static __always_optimize void | __portable_avr_delay_cycles (unsigned long n) |
#define cpu_delay_ms | ( | delay, | |
f_cpu | |||
) | delay_cycles((uint64_t)cpu_ms_2_cy(delay, f_cpu)) |
Delay program execution for a specified number of milliseconds.
delay | number of milliseconds to wait |
f_cpu | CPU frequency in Hertz |
#define cpu_delay_us | ( | delay, | |
f_cpu | |||
) | delay_cycles((uint64_t)cpu_us_2_cy(delay, f_cpu)) |
Delay program execution for a specified number of microseconds.
delay | number of microseconds to wait |
f_cpu | CPU frequency in Hertz |
#define cpu_ms_2_cy | ( | ms, | |
f_cpu | |||
) | (((uint64_t)(ms) * (f_cpu) / 6 + 999) / 1e3) |
Convert milli-seconds into CPU cycles.
ms | number of milliseconds |
f_cpu | CPU frequency in Hertz |
#define cpu_us_2_cy | ( | us, | |
f_cpu | |||
) | (((uint64_t)(us) * (f_cpu) / 6 + 999999ul) / 1e6) |
Convert micro-seconds into CPU cycles.
ms | number of microseconds |
f_cpu | CPU frequency in Hertz |
#define delay_cycles __portable_avr_delay_cycles |
Delay program execution for a specified number of CPU cycles.
n | number of CPU cycles to wait |
|
inlinestatic |
References barrier.