Forum: Mikrocontroller und Digitale Elektronik mit PWM keine Interrupts


von Holger (Gast)


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

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
Noch kein Account? Hier anmelden.