Hallo!

Ich möchte an den PIC 16F627 Daten vom PC aus senden und umgekehrt.
Das Senden klappt..
Nur das Empfangen krieg ich irgendwie nicht richtig hin.

Ein Zeichen soll über "polling" eingelesen werden:

Code:
RS232in 
    btfss   PIR1,RCIF       ; sind Daten da ? 
    goto    RS232in          ; nein, noch keine Daten da 
    movfw   RCREG         ; RS232-Register auslesen 
    movwf   controlByte  ; und nach 'controlByte' schreiben
Allein da scheiterts schon...

Initialisiert habe ich die RS232 mit folgendem Code:

Code:
controlByte		equ	0x20


org		0x00
	goto reset
;----------------------------------------------------------------

;interrupt
org		0x04

	retfie
;-----------------------------------------------------------------
reset

    clrf     controlByte 

   ;bank 1
	bsf		STATUS,	RP0
;init rs
	movlw		d'25'			;baud 9600
	movwf		SPBRG

	movlw		b'00100100'		;transmit enable, high baud
	movwf		TXSTA

	movlw		b'00000000'		;alle Ports als Ausgang
	movwf		TRISB
	movwf		TRISA

	bcf			STATUS,	RP0
	
	;bank 0
;init rs
	movlw		b'10010000' 	;enables rs,  continuos reception
	movwf		RCSTA

	bcf      INTCON,GIE 		;generell Interrupts sperren 

	goto 	main
Scheinbar wird das RCIF flag nie gesetzt

Der PIC wird an einem 4 MHZ Schwinger betrieben und zwischen PC und PIC sitzt ein MAX232 (Schaltung mit anderen Controllern getestet)

Ein Beispiel von Sprut.de habe ich auch schon ausprobiert, hat leider nicht funktioniert.


Für Hilfen und Tips wäre ich dankbar

Gruß

Jörn Arne