// Eksempel kode for oppsett av timer-interrupt for en konstant samplingsfrekvens

#include <TimerOne.h>
/* Om du ikke har innstallert dette biblioteket
gå til Sketch -> Include library -> Manage Libraries
Søk opp TimerOne og innstaller*/

// Globale variaber
volatile int sample; // Holder siste sample
bool newSample; // Støtte varibel for å sjekke om ny sample er tatt


void setup() {
  // Oppsett av timer interrupt
  Timer1.initialize(500); // 500 mikrosekund mellom hver sample -> gir F_s = 2kHz
  // Argumentet i "attachInterrupt" bestemmer hvilken funskjon som er interrupt handler 
  Timer1.attachInterrupt(takeSample); 
}

void loop() {
  
  if(newSample){
    // Ny sample er tatt

    /*** Kjør magi her ***/
    
    newSample = false;
  }    
}

// Interrupt-handler (denne kalles ved hvert interrupt)
void takeSample(void){
  sample = analogRead(0); // Sampler på A0
  newSample = true;
}

