Gast
#2741992
Hi, ich habe eine Frage zum CTC-Modus der AVRs. Und zwar benutze ich den Timer in meinem Rahmen, um zwischen einem Backpuffer und einem Frontpuffer zu wechseln. Der Frontpuffer wird dann ausgegeben. Effektiv kann ich damit die Bilder pro Sekunde steuern. Das funktioniert auch wunderbar. Jetzt möchte ich verschiedene Animationen anzeigen können und dabei jeweils die Bilder pro Sekunde variieren. Dafür muss ich den Vergleichswert für den CTC-Modus dynamisch zur Laufzeit verändern. Gibt es dafür ein sich bewährtes Vorgehen? Nach meinem Verständnis des Datenblatts sind die OCRxn Register im CTC-Modus nicht doppel-gepuffert. Dadurch kann es dann zu einem "Glitch" kommen, wenn der neue OCRxn Wert kleiner als der alte ist, und sich der Zähler zwischen dem neuen und alten Wert befindet. Dann muss der Zähler einmal "überlaufen". Jetzt habe ich mir gedacht, dass ich erst den neuen OCRxn Wert setze, und anschließend den Zähler TCNTn auf 0 setze. Ich bin mir nur nicht sicher, ob dass jetzt in jedem Fall "richtig" ist, oder ob ich etwas übersehe? Wie handhabt ihr so etwas?