TTT4265/D9/kode/eksempelkode_D9/eksempelkode_D9.ino

37 lines
912 B
C++

// 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;
}