Warum rätselst Du da rum?
Nimm den Simulator vom AVR Studio und simuliere das Prog Schritt für Schritt.
Dann siehst Du schon wo es hakt.
Du kannst ja das OCRA1 Comparematch Flag auch händisch setzten und musst dann nicht ewig im Code warten.
Warum rätselst Du da rum?
Nimm den Simulator vom AVR Studio und simuliere das Prog Schritt für Schritt.
Dann siehst Du schon wo es hakt.
Du kannst ja das OCRA1 Comparematch Flag auch händisch setzten und musst dann nicht ewig im Code warten.
Hallo,
wenn die ISR gar nicht angesteuert wird würde ich sagen ist die Initialisierung des Timers falsch. Das sind nur 3 Zeilen, da muss man halt ein bisschen spielen, wenn man nicht weiß was man da tut.
Nach lesen des Datenblattes frage ich mich, warum du z.B.WGM10 setzt? Das hat mit Timer 1 gar nichts zu tun. Wenn überhaupt heißt das Bit WGM12. Aber wäre nicht Normal Operation besser? Du müsstest dann in der ISR den Timer nur manuell wieder auf 0 setzen.
Viele Grüße
Andreas
Das Thema hatten wir schon ein paar Antworten weiter oben.Du müsstest dann in der ISR den Timer nur manuell wieder auf 0 setzen
Guten Morgen,
jetzt habe ich es auch gelesen.
Trotzdem sollte das entsprechende Bit laut Datenblatt WGM12 heißen. CTC gibt es nicht, CTC1 auch nicht, deswegen hat das kompilieren in den Antworten weiter oben nicht funktioniert. Aber WGM10 ist laut Datenblatt eindeutig falsch! In der Tabelle für die WGM-Bits des Registers TCCR1A sieht man, dass nur WGM12 gesetzt sein muss für CTC.
Viele Grüße
Andreas
Lesezeichen