ARM functions for busy-wait delay loops. More...
#include <compiler.h>
Go to the source code of this file.
Convenience functions for busy-wait delay loops | |
#define | cpu_ms_2_cy(ms, f_cpu) (((uint64_t)(ms) * (f_cpu) + (uint64_t)(14e3 - 1ul)) / (uint64_t)14e3) |
Convert milli-seconds into CPU cycles. More... | |
#define | cpu_us_2_cy(us, f_cpu) (((uint64_t)(us) * (f_cpu) + (uint64_t)(14e6 - 1ul)) / (uint64_t)14e6) |
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_ms(delay, f_cpu) delay_cycles(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(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... | |
ARM functions for busy-wait delay loops.
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
Definition in file cycle_counter.h.
#define cpu_delay_ms | ( | delay, | |
f_cpu | |||
) | 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 |
Definition at line 107 of file cycle_counter.h.
#define cpu_delay_us | ( | delay, | |
f_cpu | |||
) | 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 |
Definition at line 108 of file cycle_counter.h.
#define cpu_ms_2_cy | ( | ms, | |
f_cpu | |||
) | (((uint64_t)(ms) * (f_cpu) + (uint64_t)(14e3 - 1ul)) / (uint64_t)14e3) |
Convert milli-seconds into CPU cycles.
ms | number of milliseconds |
f_cpu | CPU frequency in Hertz |
Definition at line 98 of file cycle_counter.h.
#define cpu_us_2_cy | ( | us, | |
f_cpu | |||
) | (((uint64_t)(us) * (f_cpu) + (uint64_t)(14e6 - 1ul)) / (uint64_t)14e6) |
Convert micro-seconds into CPU cycles.
ms | number of microseconds |
f_cpu | CPU frequency in Hertz |
Definition at line 100 of file cycle_counter.h.
#define delay_cycles portable_delay_cycles |
Delay program execution for a specified number of CPU cycles.
n | number of CPU cycles to wait |
Definition at line 105 of file cycle_counter.h.
void portable_delay_cycles | ( | unsigned long | n | ) |
Delay loop to delay n number of cycles.
n | Number of cycles |
Definition at line 42 of file cycle_counter.c.