Autor Tema: Como Restear la UART sin restear el PIC?  (Leído 1509 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado donvalles

  • PIC10
  • *
  • Mensajes: 35
Como Restear la UART sin restear el PIC?
« en: 25 de Julio de 2013, 19:38:13 »

Por ruido en la la linea se me bloquea el modulo de recepcion, ya que el pic esta controlando un modulo con 6 igbt a 311V y esto me produce en muy rara vez que se me bloquee el modulo de recepcion ,  leo el registro RCSTA y no aparece ningun error, uso tambien ERRORS en la configuracion, en sintensis pense en hacer esto:
1) enviar TX un dato llamado  keepalive
2) esperar recibir Keepalive y, en caso de no llegar, hacer un reset de la uart.

lei en la hoja de datos del pic18f4685 pag 53 en la tabla INITIALIZATION CONDITIONS FOR ALL REGISTERS
RCREG 2682 2685 4682 4685     0000 0000    0000 0000    uuuu uuuu
TXREG 2682 2685 4682 4685      0000 0000    0000 0000    uuuu uuuu
TXSTA 2682 2685 4682 4685      0000 0010    0000 0000     uuuu uuuu
RCSTA 2682 2685 4682 4685     0000 000x    0000 000x     uuuu uuuu
entonces para reinicar la uart hago:
RCREG=0000 0000;
TXREG=0000 0000;
TXSTA=0000 0000;
RCSTA=0000 000x;
luego configuro con los valores de funcionamiento normal:

TXREG=valores normales;
TXSTA=valores normales;
RCSTA=valores normales;

eso seria un restet de la uart?

Gracias y Saludos.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Como Restear la UART sin restear el PIC?
« Respuesta #1 en: 25 de Julio de 2013, 20:07:36 »
Abria que ver tu programa para estar seguro   :mrgreen:   pero te adelanto, si tu problema es la recepcion deberias leer los bits FERR y OERR ellos te indican si hay problemas en la recepcion del pic. El data sheet te indica como borrarlos.


Desconectado donvalles

  • PIC10
  • *
  • Mensajes: 35
Re: Como Restear la UART sin restear el PIC?
« Respuesta #2 en: 25 de Julio de 2013, 20:15:58 »
me fijo los bits del registro RCSTA y no da ningun error, el tema es hay alguna forma de restaer solo la uart?

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Como Restear la UART sin restear el PIC?
« Respuesta #3 en: 25 de Julio de 2013, 20:32:35 »
  La forma de resetear el modulo UART es apagarlo y volver a encenderlo luego.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Como Restear la UART sin restear el PIC?
« Respuesta #4 en: 25 de Julio de 2013, 20:38:41 »
Para resetear el modulo de recepcion basta con limpiar el bit CREN del registro RCSTA.

RCSTA.CREN = 0                 // Resetea el buffer de recepcion.