//systick knjižnica
#include <stdio.h>
#include "LPC13xx.h"
#include "systick_pp.h"

unsigned int systick_stevec;                // števec tikov


void SysTick_Handler (void){                // prekinitvena rutina za SysTick register
  systick_stevec++;                         // ko pride do prekinitve se poveča števec
}

void setup_SysTick(void){
//  SysTick->LOAD = 0x000AFC7F;             // Reload vrednost za 10ms pri 72MHz in delilniku 1.
//  SysTick->LOAD = 0x0001193F;             // Reload vrednost za 1ms pri 72MHz in delilniku 1.
  SysTick->LOAD = 0x00000048;               // Reload vrednost 1us pri 72MHz in delilniku 1 
                                            // = 1e-6 / (1 / 72e6) v Hex
  SysTick->CTRL = 0x00000007;               // Omogoči systick, Omogoči tickint, clksource=core
} 

void Delay_us (unsigned int cas_us) {       // funkcija za zakasnitev poljubnih us
unsigned int stevilo_systikov;
stevilo_systikov = systick_stevec;
while (( systick_stevec - stevilo_systikov) < cas_us);  // V zanki dokler ne prešteje do cas_us

 systick_stevec=0;
}

