PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC Communication Interrupt #Int_RDA



RoboLeo
14.12.2005, 08:45
Hi

Ich verwende im Moment den PIC 18F242. Nun wollte ich mit dem PIC ueber RS232 mit dem Rechner kommunizieren.
Da der Datentransfer asynchron ist wollte ich mit der Interruptroutine #INT_RDA arbeiten.
Das funktioniert auch alles soweit ganz gut. Wenn ich den write Knopf in meinem Programm betaetige liest der PIC zuerst die Daten und danach sendet er an den PC.

Mein Problem: Ich dachte eigentlich das der Interrupt nur auftritt wenn ich den write Knopf betaetige. Das scheint naemlich nicht so zu sein. Irgendwie ist der PIC die ganze Zeit in dieser Interruptroutine und blockt mir die anderen.

Hab noch die 3 externen Interupts und Timer in Verwendung.

Was tun?

Hab ich irgendwas falsch verstanden mit der Funktion des Interrupts.

stegr
14.12.2005, 16:38
Schau mal nach, ob du die Interrupt-Flags nicht von Hand wieder zurücksetzen musst - da war irgendwas...
Beim Timer ist das auf jeden Fall so, ich glaube bei den Comm-Interrupts auch...

kalledom
14.12.2005, 17:31
Der 18F... ist etwas anders, als der 16F... aber vielleicht kannst Du bei den PIC Assembler-Beispielen (http://www.domnick-elektronik.de/picasm.htm) doch den einen oder anderen Tip finden.