Hallo Jango,
da steht bei Sprut aber schon deutlich mehr, als ich beim kurzen überfliegen bei Dir sehen konnte.
Schau mal:
Mal unabhängig das Du nichts sicherst (Register/Statusbyte) würde ich auch sagen, das Du das Interupt Flag nicht löscht. Dann wird natürlich auch kein neuer ausgelöst...Code:org 4 ; Interrupt beginnt immer bei Adresse 4 int movwf w_temp ; w und STATUS retten swapf STATUS,w movwf status_temp ;RS232-Empfänger-Interrupt? btfss PIR1,RCIF goto intEnde ; Interrupt kam von wo anders movfw RCREG ; RS232-Register auslesen movwf Zeichen ; und in den Speicher nach 'Zeichen' schreiben bcf PIR1,RCIF ; interrupt-Flag löschen intEnde ; gerettete w und STATUS wieder zurückschreiben swapf status_temp,w movwf STATUS swapf w_temp,f swapf w_temp,w retfie
Wenn ich es übersehen haben sollte...![]()
Initalisierung und den Rest habe ich mir jetzt noch gar nicht angeschaut...
Gruß André







Zitieren

Lesezeichen