Hallo, ich würde es gerne schaffen, dass beim Empfang eines Zeichens über die serielle Schnittstelle ein Interrupt ausgelöst wird und eine kurze Routine abgearbeitet wird. Klingt eigentlich nicht sonderlich schwierig, funktioniert aber trotzdem nicht. Zum ersten Ausprobieren fällt der Atmega16 in eine Endlosschleife und soll beim Empfang eines Zeichens dieses stumpf wieder zurücksenden, was er allerdings nicht tut. Ohne Interrupt, mit der Senderoutine direkt in der Schleife, funktioniert es hingegen. Vielleicht weiß ja jemand Rat. Gruß Christoph
Ich vermisse die generelle Interrupt-Freigabe, so etwas wie SEI() oder SREG |= 128 oder was ähnliches. Michael
Hallo Du mußt den RX Complete Interrupt Enable noch erlauben, im UCSRB. UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE) ; MFG Dieter
stimmen denn die Interrupt-Vektoren? Ausserdem muss RXCIE gesetzt sein. Um welchen Prozessor gehts überhaupt?
Einen Atmega16. RXCIE werde ich gleich einmal setzen. Danke soweit schon einmal. Christoph
Vielen Dank für die Hilfe - ist RXCIE gesetzt, funktioniert alles prächtig. Christoph
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.