Gast
#4694080
Moin, ich habe eine Uhr ohne ISR geschrieben die leider alle ~20min eine gute Sekunde vorgeht. Ich benutze einen Atmega328P mit einem externen 20Mhz Quarz an xtal. Die Fuses sind dementsprechend gesetzt von daher gehe ich "erstmal" davon aus das damit nichts verkehrt ist. Kann mir jemand sagen ob meine Zählvariablen denn vom Grundsatz stimmen (mal angenommen das das Quarz exakt mit 20Mhz schwingt). Ich vermute nämlich eher das meine Zählvariablen fehlerhaft sind. Was habe ich programmiert: Der Takt von 20Mhz wird durch den Prescaler von 256 des Timer0 auf genau 78125 runtergebrochen. Würde ich den Zähler TCNT0 bei 125 wieder zurücksetzen könnte ich eine Hilsvariable bis 625 zählen lassen und hätte zumindest in der Theorie einen genauen Takt von 1sek. Leider nur in der Theorie :( Danke an alle Antwortenden! gruß f.