void setup() {
pinMode(13, OUTPUT); //Set the pin to be OUTPUT
noInterrupts(); // disable interrupts while we setup
// reset Timer 1 configurations, default to interrupt on overflow
TCCR1A = 0;
TCCR1B = 0;
// set bits 0-2 to select the scalar value
// 001 = 1
// 010 = 8
// 011 = 64
// 100 = 256
// 101 = 1024
TCCR1B = (TCCR1B & B11111000) | B101; // Pre-scalar = 1024
// enable OCM1 & 2 interrupts by setting bit 1 and 2 of TIMSK1
TIMSK1 |= B110;
OCR1A = 20000; // set the first OCM value
OCR1B = 40000; // set the second OCM value
interrupts(); // enable all interrupts
}
void loop() {
// put your main code here, to run repeatedly:
}
ISR(TIMER1_COMPA_vect) {
digitalWrite(13,HIGH);
}
ISR(TIMER1_COMPB_vect) {
TCNT1 = 0;
digitalWrite(13,LOW);
}