Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Busy-Wait Delay Routines

This module provides simple loop-based delay routines for those applications requiring a brief wait during execution.

Common for API ver. 2.

Macros

#define delay_ms(delay)   ((delay) ? cpu_delay_ms(delay) : cpu_delay_us(1))
 Delay in at least specified number of milliseconds. More...
 
#define delay_s(delay)   ((delay) ? cpu_delay_s(delay) : cpu_delay_us(1))
 Delay in at least specified number of seconds. More...
 
#define delay_us(delay)   ((delay) ? cpu_delay_us(delay) : cpu_delay_us(1))
 Delay in at least specified number of microseconds. More...
 

Functions

void delay_init (void)
 Initialize the delay driver. More...
 

#define delay_ms (   delay)    ((delay) ? cpu_delay_ms(delay) : cpu_delay_us(1))

Delay in at least specified number of milliseconds.

Parameters
delayDelay in milliseconds
#define delay_s (   delay)    ((delay) ? cpu_delay_s(delay) : cpu_delay_us(1))

Delay in at least specified number of seconds.

Parameters
delayDelay in seconds
#define delay_us (   delay)    ((delay) ? cpu_delay_us(delay) : cpu_delay_us(1))

Delay in at least specified number of microseconds.

Parameters
delayDelay in microseconds

void delay_init ( void  )

Initialize the delay driver.

This must be called during start up to initialize the delay routine with the current used main clock. It must run any time the main CPU clock is changed.

References cycles_per_ms, cycles_per_us, and system_gclk_gen_get_hz().

Referenced by main().