Microchip® Advanced Software Framework

cycle_counter.h File Reference
#include "compiler.h"

Data Structures

struct  t_cpu_time
 Structure holding private information, automatically initialized by the cpu_set_timeout() function. More...
 

Macros

#define CPU_TIMER_STATE_REACHED   1
 
#define CPU_TIMER_STATE_STARTED   0
 
#define CPU_TIMER_STATE_STOPPED   2
 
#define Get_sys_compare()   ( Get_system_register(AVR32_COMPARE) )
 
#define Get_sys_count()   ( Get_system_register(AVR32_COUNT) )
 
#define Set_sys_compare(x)   ( Set_system_register(AVR32_COMPARE, (x)) )
 
#define Set_sys_count(x)   ( Set_system_register(AVR32_COUNT, (x)) )
 

Functions

static __always_inline uint32_t cpu_cy_2_ms (unsigned long cy, unsigned long fcpu_hz)
 Convert CPU cycles into milli-seconds. More...
 
static __always_inline uint32_t cpu_cy_2_us (unsigned long cy, unsigned long fcpu_hz)
 Convert CPU cycles into micro-seconds. More...
 
static __always_inline void cpu_delay_cy (unsigned long delay)
 Waits during at least the specified delay (in CPU cycles) before returning. More...
 
static __always_inline void cpu_delay_ms (unsigned long delay, unsigned long fcpu_hz)
 Waits during at least the specified delay (in millisecond) before returning. More...
 
static __always_inline void cpu_delay_us (unsigned long delay, unsigned long fcpu_hz)
 Waits during at least the specified delay (in microsecond) before returning. More...
 
static __always_inline
unsigned long 
cpu_is_timeout (t_cpu_time *cpu_time)
 Test if a timer variable reached its timeout. More...
 
static __always_inline
unsigned long 
cpu_is_timer_stopped (t_cpu_time *cpu_time)
 Test if a timer is stopped. More...
 
static __always_inline uint32_t cpu_ms_2_cy (unsigned long ms, unsigned long fcpu_hz)
 Convert milli-seconds into CPU cycles. More...
 
static __always_inline void cpu_set_timeout (unsigned long delay, t_cpu_time *cpu_time)
 Set a timer variable. More...
 
static __always_inline void cpu_stop_timeout (t_cpu_time *cpu_time)
 Stop a timeout detection. More...
 
static __always_inline uint32_t cpu_us_2_cy (unsigned long us, unsigned long fcpu_hz)
 Convert micro-seconds into CPU cycles. More...
 

#define CPU_TIMER_STATE_REACHED   1

Referenced by cpu_is_timeout().

#define CPU_TIMER_STATE_STARTED   0

Referenced by cpu_set_timeout().

#define CPU_TIMER_STATE_STOPPED   2