I am having trouble enabling a serial interrupt. It looks like this: void SIOhandler() interrupt 4 using 3 { int c; P3 ^= 0x10;/*toggle LED*/ if(!RI) return; c = _getkey(); SIObuffer[producer++] = c; if( producer >= MAXINBUFF ) producer=0; RI = 0; } int SIOread() { int c; while(consumer == producer); c = SIObuffer[consumer++]; if( consumer >= MAXINBUFF ) consumer = 0; return c; } and in main i set ES=1 then EA=1. Am I missing something?
Do you really want to be using _getkey() in the ISR?
i was trying to make an ISR to work around a problem that i was having with the ADuC834 board but have found a solution so i dont need my own ISR any more. thanks for the input though. it helped me learn more on how it works. nathan necaise