Hallo liebe Freunde, Bin ziemlich am verzweifeln, da ich in das TCNT2 - Register meines Atmega168 keine Startwerte einschreiben kann. Ziel ist es über den externen 20MHz Quarz ein 1Hz Signal zu erzeugen. Beim Rumspielen hab ich aber festgestellt, dass er Änderungen des Prescalers annimmt, nicht die Eintragungen in das Register TCNT2. Da läuft er immer von 0 bis 2^8. Hmmhmm Der Timer läuft im normalen Modus... sbi(TCCR2B,0); cbi(TCCR2B,1); sbi(TCCR2B,2); TCNT2 = 200; // Startwert des Zählers auf 200 cbi(TCCR2B,3); sbi(TIMSK2,0); Geht das prinzipiell nicht mit dem TIMER2?
Hi >Bin ziemlich am verzweifeln, da ich in das TCNT2 - Register meines >Atmega168 keine Startwerte einschreiben kann. Kann man schon. Nur reicht es nicht das einmal zu machen, da der Zähler beim nächsten Overflow wieder bei Null anfängt. Wenn du dieses Vorladegedödel benutzen willst, must du den Overflow-Interrupt aktivieren und in der Interruptroutine neu laden. Oder du machst es richtig und nimmst CTC. MfG Spess
Das ist die Lösung . . . Vielen Dank. Hatte es in der ISR-drin aber da war auch ne zählroutine enthalten, die eben noch ein paar Overflows gezählt hat und es wurde es nach dem letzten mal rückgesetzt. . . und nicht jedesmal... Vielen Dank, dass du mir die Tomaten weggenommen hast. Danke
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.