Simple Timer0 usage with SimpleLib

Dependencies:   mbed SimpleLib

Committer:
Alkorin
Date:
Sun Nov 14 22:50:00 2010 +0000
Revision:
0:c29a7bf28278

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Alkorin 0:c29a7bf28278 1 #include "mbed.h"
Alkorin 0:c29a7bf28278 2 #include "leds.h"
Alkorin 0:c29a7bf28278 3 #include "timers.h"
Alkorin 0:c29a7bf28278 4
Alkorin 0:c29a7bf28278 5 TIMER0_INTERRUPT_HANDLER(void)
Alkorin 0:c29a7bf28278 6 {
Alkorin 0:c29a7bf28278 7 TIMER0_CLEAR_INTERRUPT(MR0_INT);
Alkorin 0:c29a7bf28278 8 static int i = 0;
Alkorin 0:c29a7bf28278 9 i++;
Alkorin 0:c29a7bf28278 10 if(i%2)
Alkorin 0:c29a7bf28278 11 LEDS_SET(LED1);
Alkorin 0:c29a7bf28278 12 else
Alkorin 0:c29a7bf28278 13 LEDS_SET(LED2);
Alkorin 0:c29a7bf28278 14 }
Alkorin 0:c29a7bf28278 15
Alkorin 0:c29a7bf28278 16 int main() {
Alkorin 0:c29a7bf28278 17 LEDS_INIT();
Alkorin 0:c29a7bf28278 18 TIMER0_INIT();
Alkorin 0:c29a7bf28278 19 TIMER0_SETPCLK(CCLK);
Alkorin 0:c29a7bf28278 20 TIMER0_SETPRESCALE(96000); // 1ms
Alkorin 0:c29a7bf28278 21 TIMER0_SETMATCH(0, 100);
Alkorin 0:c29a7bf28278 22 TIMER0_SETMATCHCONTROL(0, MATCH_RESET | MATCH_INTERRUPT); // Reset and Interrupt each 100ms
Alkorin 0:c29a7bf28278 23 TIMER0_ENABLE_INTERRUPT();
Alkorin 0:c29a7bf28278 24 TIMER0_START();
Alkorin 0:c29a7bf28278 25 while (1);
Alkorin 0:c29a7bf28278 26 }