ARM functions for busy-wait delay loops.
Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.
Macros | |
#define | F_CPU system_gclk_gen_get_hz(0) |
MCU Clock Frequency (Hertz) More... | |
Convenience functions for busy-wait delay loops | |
#define | cpu_ms_2_cy(ms, f_cpu) (((uint64_t)(ms) * (f_cpu) + (uint64_t)(7e3-1ul)) / (uint64_t)7e3) |
Convert milli-seconds into CPU cycles. More... | |
#define | cpu_us_2_cy(us, f_cpu) (((uint64_t)(us) * (f_cpu) + (uint64_t)(7e6-1ul)) / (uint64_t)7e6) |
Convert micro-seconds into CPU cycles. More... | |
#define | delay_cycles portable_delay_cycles |
Delay program execution for a specified number of CPU cycles. More... | |
#define | cpu_delay_s(delay) delay_cycles(cpu_ms_2_cy(1000 * delay, F_CPU)) |
#define | cpu_delay_ms(delay) delay_cycles(cpu_ms_2_cy(delay, F_CPU)) |
Delay program execution for a specified number of milliseconds. More... | |
#define | cpu_delay_us(delay) delay_cycles(cpu_us_2_cy(delay, F_CPU)) |
Delay program execution for a specified number of microseconds. More... | |
void | portable_delay_cycles (unsigned long n) |
Delay loop to delay n number of cycles. More... | |
#define cpu_delay_ms | ( | delay | ) | delay_cycles(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_s | ( | delay | ) | delay_cycles(cpu_ms_2_cy(1000 * delay, F_CPU)) |
#define cpu_delay_us | ( | delay | ) | delay_cycles(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) + (uint64_t)(7e3-1ul)) / (uint64_t)7e3) |
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) + (uint64_t)(7e6-1ul)) / (uint64_t)7e6) |
Convert micro-seconds into CPU cycles.
ms | number of microseconds |
f_cpu | CPU frequency in Hertz |
#define delay_cycles portable_delay_cycles |
Delay program execution for a specified number of CPU cycles.
n | number of CPU cycles to wait |
Referenced by delay_cycles_ms(), delay_cycles_us(), main(), and ssd1306_hard_reset().
#define F_CPU system_gclk_gen_get_hz(0) |
MCU Clock Frequency (Hertz)
void portable_delay_cycles | ( | unsigned long | n | ) |
Delay loop to delay n number of cycles.
n | Number of cycles |
References UNUSED.