![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Simple Timer0 usage with SimpleLib
main.cpp@0:c29a7bf28278, 2010-11-14 (annotated)
- Committer:
- Alkorin
- Date:
- Sun Nov 14 22:50:00 2010 +0000
- Revision:
- 0:c29a7bf28278
Who changed what in which revision?
User | Revision | Line number | New 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 | } |