[EMAIL PROTECTED] wrote: > > ========== > PROJECT1.C > ========== > #include <at89x52.h> > #include "sys.h" >
extern void SystemTick( void ) interrupt 1 using 1; > void main( void ) { > InitMcu(); > > while ( 1 ) { > LoadDelay( 10 ); > P1 = 0xff; // leds off > while( !TIMEOUT ); > LoadDelay( 10 ); > P1 = 0; // leds on > while( !TIMEOUT ); > } > } I fell foul of this "feature" when I was using seperately compiled modules together with interrupts. As the other posters have pointed out, you must declare the interrupt function header in the "main" module (as shown above). The code can go in the other source file. In my program I have a file called "extern.h" with all the extern function declarations. I use some #ifdef tricks so that a module doesn't see it's own declarations. regards... --Gary ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user