Warum muss ISR im gleichen File wie main() stehen ?

OP #1076680
Lesenswert?

Hi Leuts,

ich habe hier eine kleine Testroutnie geschrieben (AVR-Studio, gcc 
ATMega128).

Dabei wird der Overflow Interrupt von Timer2 genutzt.
ISR(TIMER2_OVF_vect)
{
  TCNT2 = 178;
  liveled++;
}

Solange dieser Programmteil im gleichen C-File steht wie main(), läuft 
alles einwandfrei. Sobald ich den Code aber in eine andere Datei 
schreibe, läuft nichts mehr. Kann es sein, dass die Routine dann gar 
nicht mit dazugelinkt wird ? Wie kann ich das ändern ?


Greets
Karlheinz
Moderator Persönliche Seite #1076684
Lesenswert?

Karlheinz Druschel wrote:

> Wie kann ich das ändern ?

Indem du sie mit dazu linkst?

Im Ernst: ohne deine Build-Infrastruktur (insbesondere die
Linker-Kommandozeile, die tatsächlich benutzt wird) zu sehen,
kann man da nur raten.  Selbstverständlich können die ISRs über
beliebig viele Dateien gestreut werden, wenn sie denn alle mit
gelinkt werden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren