TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: Juanp en 15 de Marzo de 2007, 13:31:06
-
Buenas, tengo una duda. Configuré envío y recepción a través del puerto serie de la siguiente manera:
;--------- Configuración del Puerto Serie----------------------------------------------
BCF TXSTA,TX9 ; 8 bits de transmisión PEIE
BSF TXSTA,TXEN ; Habilita transmisión
BCF TXSTA,SYNC ; Selecciona Modo Asincrónico
BSF TXSTA,BRGH ; Selecciona High Baud Rate
MOVLW 81 ; 9600 Baudios para 20 MHz
MOVWF SPBRG ; Guarda el Baud Rate
BCF STATUS,RP0 ; Selecciono Banco 0
BSF RCSTA,SPEN ; Habilita recepción
BCF RCSTA,RX9 ; 8 bits de recepción
BSF RCSTA,CREN ; Habilita recepción continua
Ahora me asalta la siguiente duda. Es necesario limpiar el RCREG antes de recibir nuevos datos o se me sobreescribirá y listo??
Saludos
-
Luego de borrar y reencender el CREN , no hace falta leer el RCREG pero si quieres lo puedes hacer.
Luego en el funcionamiento normal de tu software, si llegan datos y no los lees, te dará un error de OERR que impedirá que la usart siga recibiendo así que ten cuidado con eso.
Saludos
-
Es necesario limpiar el RCREG antes de recibir nuevos datos o se me sobreescribirá y listo??
supongo que con "limpiar" te refieres a poner un registro a cero, si es asi esto no se debe hacer lo que debes hacer es leer el registro, para que tal como dijo maunix no de error de overrun, y si estas usando interrupciones es necesario leerlo para que se limpie la bandera que indica si se recibio algo (RCIF)
saludos
-
Ok, gracias a ambos!