#include "plasma.h" unsigned int first = 1; void timer_handler(void){ static unsigned int cnt_lo = 0; static unsigned int counter = 0; static unsigned int seconds = 0; static unsigned int minutes = 0; if(first){ cnt_lo = 0; counter = 0; seconds = 0; minutes = 0; first = 0; } if(cnt_lo){ irq_disable(IRQ_COUNTER18_NOT); irq_enable(IRQ_COUNTER18); cnt_lo = 0; } else { irq_disable(IRQ_COUNTER18); irq_enable(IRQ_COUNTER18_NOT); cnt_lo = 1; } if (counter++ == 95) { counter = 0; if(minutes < 10) print_uint(0); print_uint(minutes); printstr(":"); if(seconds < 10) print_uint(0); print_uint(seconds); printchar('\n'); seconds++; if(seconds == 60){ minutes++; seconds = 0; } } } int main(void){ printstr("Hello Plasma Interrupt Test!\n"); interrupt_init(); irq_enable(IRQ_COUNTER18); interrupt_enable(); printstr("LEDs are flashing now!!!\n"); unsigned int * led = (unsigned int *)(0x20000030); unsigned int i = 0; for ( ; ; i++) { *led = i; unsigned int x = 0; for( ; x < 0x00007FFF; x++); } }