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
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.
Mr x wrote:
> du musst das File includen
Ungefähr der dümmste Rat, den man so geben könnte.
Oder "liveled" ist nicht als volatile deklariert oO?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.