Hardware: CC1010 (CC1010EB-eval hardware kit) Software: RTX51-full w/ uVision3
I'm having trouble getting interrupts working with rtx. I've checked all the documentation and example code, which doesn't seem to be any different than what i'm doing:
void ProducerTask (void) _task_ TASK_INIT _priority_ 1 { //OS configuration... . . //Configure Timer3 INT_SETFLAG (INUM_TIMER3, INT_CLR); halConfigTimer23(TIMER3 | TIMER23_INT_TIMER, 10000, clkFreq); TIMER3_RUN(TRUE); os_enable_isr(INUM_TIMER3); . . os_delete_task(TASK_INIT); } void TIMER3_ISR () interrupt INUM_TIMER3 { INT_SETFLAG (INUM_TIMER3, INT_CLR); Time++; LED = ~LED; }
I've done some debugging, and found that the interrupt enable bit for timer3 is being cleared somewhere (EIE.ET3). The halConfigTimer23 function directly sets this bit, and i've also experimented with setting it AFTER calling os_enable_isr, and even removing any statements that set the bit (allowing rtx to have sole control). Nothing seems to work. RTX keeps clearing the bit. Any ideas?