#include #include #include "sa1100.h" #ifdef SOUND_SPEED #undef SOUND_SPPED #endif int timeout; struct os_timer_regs* osTimerRegs = (struct os_timer_regs*) OSMR_0; // fire sonar, clear distance void fireSonar() { } void clearSonar() { } __irq void IntHandle ( void ) { // this will be called on a timer interrupt, or on an ECHO rising edge /* if (ECHO) put ECHO interrupt handler here */ /* else handle timer interrupt (shown below) */ timeout = 1; int timerSel; timerSel=0; DisableTimerIRQ( IRQ_OSTIMER0+timerSel ); osTimerRegs->oscr = 0; // initialize timer counter register osTimerRegs->ossr = 1 << timerSel; // reset interrupt source EnableTimerIRQ( IRQ_OSTIMER0+timerSel ); } // main int main( void ) { int timerSel = 0; timeout = 0; initTimer( timerSel, 3000000 ); // sets up a 3 second timer interrupt (every three seconds) Install_Handler( (unsigned)IntHandle, (unsigned *)IRQ_VECTOR ) ; // installs handler /* prints timeout every 3 seconds */ while(1){ if (timeout) { printf("timeout\n"); timeout = 0; } } return 0; }