25 lines
812 B
C
25 lines
812 B
C
#include <sysdefs.h>
|
|
#include "lpc134x.h"
|
|
|
|
/**************************************************************************/
|
|
/*!
|
|
Approximates a 1 millisecond delay using "nop". This is less
|
|
accurate than a dedicated timer, but is useful in certain situations.
|
|
|
|
The number of ticks to delay depends on the optimisation level set
|
|
when compiling (-O). Depending on the compiler settings, one of the
|
|
two defined values for 'delay' should be used.
|
|
*/
|
|
/**************************************************************************/
|
|
void delayms(uint32_t ms)
|
|
{
|
|
uint32_t delay = ms * ((CFG_CPU_CCLK / 100) / 45); // Release Mode (-Os)
|
|
// uint32_t delay = ms * ((CFG_CPU_CCLK / 100) / 120); // Debug Mode (No optimisations)
|
|
|
|
while (delay > 0)
|
|
{
|
|
__asm volatile ("nop");
|
|
delay--;
|
|
}
|
|
}
|