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
Gast
#1076681
du musst das File includen
Gast
#1076682
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?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.