This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

enabling serial interrupt

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?