Wie im Titel schon erwähnt startet der Timer1 nicht.
TCCR1A &= ~((1<<COM1A1) | (1<<COM1A0) | (1<<COM1B1) | (1<<COM1B0));
TCCR1A &= ((1<<WGM11) | (1<<WGM10));
TCCR1B |= ((1<<WGM12) | (1<<CS12));
TCCR1B &= ((1<<WGM13) | (1<<CS11) |(1<<CS10));
TIMSK1 |= (1<<OCIE1A);
OCR1A = 15625;
Prescaler 256 somit ergibt sich eine frequenz von 2Hz.
Ich lasse mir den Timerwert in TCNT1 per seriel ausgeben. Dieser beträgt
immer 0 also schließe ich daraus das der Timer nicht startet.
Hat jemand eine Idee wodran das liegen kann?
Der Timer0 ist genau so konfiguriert und läuft ohne Probleme.
Joschka T. schrieb: > TCCR1B |= ((1<<WGM12) | (1<<CS12)); > TCCR1B &= ((1<<WGM13) | (1<<CS11) |(1<<CS10)); Sicher? Oder ~ bei &= vergessen? Wenn du das so machst wie oben angegeben und TCCR1x vorher nicht initialisiert waren, dann steht in beiden hinterher immer noch 0x00 drin... > Der Timer0 ist genau so konfiguriert und läuft ohne Probleme. Das wage ich zu bezweifeln...
Joschka T. schrieb: > TCCR1A &= ~((1<<COM1A1) | (1<<COM1A0) | (1<<COM1B1) | (1<<COM1B0)); > TCCR1A &= ((1<<WGM11) | (1<<WGM10)); Hier stimmt auch etwas nicht. Wenn du alle Bits löschen willst, schreibst du am besten
1 | |
Gast
#4838163
Warum überhaupt dieser Aufwand? Ich hätte gedacht:
1 | |
2 | |
3 | |
4 | |
Gast
#4838169
(15625-1), um genau zu sein.
OK danke jetzt sehe ich es. Wenn man stundenlang davor sitzt, sieht man was man will und nicht wie es tatsächlich ist Matthias S. schrieb: > Hier stimmt auch etwas nicht. Wenn du alle Bits löschen willst, > schreibst du am besten TCCR1A = 0; Da hast du auch rest. Sind wohl noch überreste vom umkonfigurieren.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.