Hallo zusammen, kann mir mal jemand meinen einfachen Code anschauen. Ich bin ratlos. Habe schon alle Variationen ausprobiert. Ich möchte in der Interuptrotine nur einen Merker setzen den ich in der Main auswerte (in meinem Fall einen Port toggeln). Der Timer kommt korrekt. Nur die Variable ((Zaehler_Time00) wird nicht incrementiert oder so. Gruß wolf4124
Du must das DDRD Register setzen. Sonst hast du keinen Ausgangsport.
Hi! Es ist immer wieder hilfreich, die in der ISR veränderte und im Main abgefragte Variable als volatile zu deklarieren. Der Compiler merkt das die Variable in der Schleife nicht verändert wird und optimiert entsprechendes weg, bzw. wird die Variable in einem Register gehalten und nicht neu aus dem RAM geladen. Hast Du dir mal den Assembler dazu angeschaut? Der Hinweis mit dem Data Direction Register sollte natürlich auch beachtet werden (in diesem Fall Port B), da die Ports nach Reset auf Input stehen. Gruss Bernd
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.