mit PWM keine Interrupts

Gast #1077226
Lesenswert?

Hallo, ich habe einen ATMEGA644@16MHz so programmiert, dass beim PortC 
ein Pin-Change-Interrupt ausgelöst wird. Angeschlossen sind 8 Tasten. 
Die Auswertung funktioniert soweit.

Nun soll der Controller aber auch noch einen PWM mittels TIMER0 
ausgeben.

Unten sind die Zeilen, die ich vorm sei in mein Listing einfüge.

Der PWM funktioniert, aber leider reagiert der ATMEGA644 nicht mehr auf 
die Tasten. Sobald die paar Zeilen gelöscht sind, geht wieder alles....


Hat jemand einen Tipp für mich?

Holger





;ATMEGA644@16MHz
;
;Timer0 schaltet einen ~245Hz 50:50 PWM für die Fotodiodenan PORTB.3
;clear OC0 oncompare match, set OC0 on BOTTOM (nicht invertierend)

ldi   r21, (1<<COM0A1) | (1<<WGM01) | (1<<WGM00)
out   TCCR0A,r21

ldi   r21, (1<<CS02)
out   TCCR0B,r21

ldi   r21,(1<<PB3)  ;OC0/PB3 = Ausgang
out   DDRB, r21

ldi   r21,0b10000000
out   OCR0A,r21

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren