Hi! I have the following code: int fnRIIRQ() interrupt 4 { LED = !LED; return; } void Dummy5 (void) interrupt 10 { } main() { while(1); } Looking at the code nothing should happen, there is not serial port connected, but initerrupt 4 is triggering (ie. the LED flashes) at a rate of 7.~hz. If I change interrupt 10 to interrupt 9 then nothing happens as expected. Q: why is this happening? Andrew
you can't return a value from an ISR!
Just for the record I've solved it: The reason was this: During initialisation I didn't set TI & RI to 0. RI wasn't a problem as nothing was sent to it, but because TI wasn't initilised to 0 it kept triggering the interrupt. So on a ADUC824 always set TI to 0!! All the best Andrew
During initialisation I didn't set TI & RI to 0... Hmmm. According to the ADuC824 documentation, the SCON SFR will be set to 0x00 on reset/power-up. So, TI and RI should both be set to 0. You should not need to do that. Are you using a monitor or some kind of boot loader? Jon
Hi Not that I am aware of! I use the Keil startup code... Andrew
How do you get your program into the part? Jon
Using the Analog Devices serial downloader! Andrew