Ich benutzt den Timer1 zum Messen der Periodendauer eines
Eingangssignals. Dazu habe ich in TCCR1B ICNC1, ICES1 und den Prescaler
auf 64, sowie in TIMSK1 ICIE1 gesetzt. Der AVR läuft mit 16MHz. So
dauert es bis einem Overflow ca 262ms. Jetzt habe ich hier Testweise ein
Signal erzeugt, das 1ms High-Pegel und 8ms Low-Pegel liefert. Das kommt
auch, hab ich mit einem LA geprüft.
In meinem Programm wird der TIM1_CAPT Interrupt abgefangen und dort
ICR1L und ICR1H ausgelesen. Beide sind aber immer 0 .. hier sollte etwas
in der Richtung 2250 drin stehen, warum bekomme ich hier aber immer 0?
Danke schon mal^^
MfG Jonathan
Dir fehlt der Teil der PORTA2 wieder ausschaltet.
So reicht es, dass einmal ein Capture bei 0 passiert ist (vlt. gleich
beim Init einen gefangen oder so) und die LED leuchtet für immer.
S. Landolt schrieb:> auch fehlt zu Beginn ein sbi DDRA,(1<<2).
Habe unnötigen Code rausgelöscht, das scheint da mit raus gekommen zu
sein.
S. Landolt schrieb:> Vor dem ICNC1 fehlt '1<<'
Ahh genau den selben Fehler hatte ich irgendwann schonmal. Danke das
wirds wohl sein, denn ICNC1=7 also wurde hier Clock Select auf External
clock source gesetzt, logisch, dass es dann nicht geht ...
EDIT: Jop jetzt klappt alles danke :)