[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

Reply via email to