hallo, hab hier ein rechenproblem. versuche nen genaue uhr in mein projekt einzubauen. in der codesammlung hab ich nen netten code dafür gefunden. das ganze läuft auch, ist aber zu langsam weil es nicht an meine konfiguration angepasst ist. derjenige initialisiert den timer so: void timer_init (void) { TCCR1B = (1<<CS12) | (1<<CS10); TIMSK |= (1<<TOIE1); TCNT1 = 53817; sei (); } das versteh ich auch ganz gut aber wie berechnet man die 53817? ich hab nen atmega8 mit 3.6864Mhz quarz. Könnte mir das jemand mal vorrechnen? Vielen Dank. :)
schön, dass du nicht meine Uhr nimmst... 65535-53817 = 11718 Schritte bis zum Überlauf 3,6864MHz / 1024 = 3600Hz Eigentlich müsstest du TCNT1 = 61935 setzen, um jede Sekunde einen Überlauf zu produzieren.
Man kann aber auch die Formeln im Klartext hinschreiben, der C-Präprozessor kann nämlich Konstanten selber ausrechnen: http://www.mikrocontroller.net/forum/read-4-57760.html#new Peter
sorry deine uhr hatte ich noch nicht so verstanden. ich hab mir das angesehen ;). danke für die rechnung, ich probier es gleich mal :))
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.