diff --git a/main.c b/main.c index 02ec3b3..9ec13b9 100644 --- a/main.c +++ b/main.c @@ -29,3 +29,12 @@ void systick_setting(void) // SYSTICK SETUP FUNCTION STCTRL |= (1 << 0) | (1 << 2); // Enable SysTick with system clock STCURRENT = 0; // Clear current value } + +void delay(int us) //DEFINING DELAY FUNCTION +{ + STRELOAD = SYSTICK_RELOAD_VALUE(us); // RELOAD VALUE FOR REQUIRED DELAY + STCURRENT = 0; // Clear STCURRENT + STCTRL |= (1 << 0) | (1 << 2); // Enable SysTick + while ((STCTRL & (1 << 16)) == 0); // Wait until flag is set + STCTRL &= 0x0; // Stop the timer +}