TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: Juanp en 15 de Marzo de 2007, 13:31:06

Título: Hace falta limpiar el RCREG??
Publicado 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
Título: Re: Hace falta limpiar el RCREG??
Publicado por: maunix en 15 de Marzo de 2007, 13:34:10
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
Título: Re: Hace falta limpiar el RCREG??
Publicado por: Toph en 21 de Marzo de 2007, 01:38:06
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
Título: Re: Hace falta limpiar el RCREG??
Publicado por: Juanp en 22 de Marzo de 2007, 13:56:19
Ok, gracias a ambos!