Autor Tema: 2 malditos bytes por USART me sacan canas verdes  (Leído 1094 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado carlyvalente

  • PIC16
  • ***
  • Mensajes: 108
2 malditos bytes por USART me sacan canas verdes
« en: 05 de Febrero de 2004, 10:07:00 »
Eso, que tengo una transmision serie USART entre un 16f877 y un 16f628.
El problema comienza cuando quiero aprovechar el doble registro RCREG FIFO para extraer esos dos bytes.
Ya he probado hasta yendo a curanderos
Lo he intentado con interrupciones, o sea que al detectar el bit OERR (o sea que se ha llenado el doble buffer FIFO) comenzara la interrupcion.
Segun hojas de datos de microchip se extraen leyendo el RCREG dos veces. Con interrupciones funciona bien. Pero es que no puedo utilizar interrupciones ya desgraciadamente el retfie me manda al lugar exacto donde se origino la interrupcion y eso no me sirve.
Ahora que pasa sin interrupciones?
Pues detecta el desborde de OERR , y me detecta el primer byte. Pero el segundo........pues no se, se perdera en el triangulo de las bermudas informatico, ya que he probado de todo.
Con respecto al envio pues mando 3 bytes (el tercero sin importancia , de hecho envio 00h como tercer byte) , y como segun microchip el tercero se pierde porque queda en el RSR.
La velocidad de comunicacion es de 2400 bps , la comunicacion via RF.
Tambien agrego que al comparar si son los bytes incorrectos regreso al comienzo de deteccion de desborde no sin antes limpiar el registro RCREG con las intrucciones BCF RCSTA,CREN y BSF RCSTA,CREN.
Incluso segun microchip una vez desbordado el FIFO ya no recibe mas informacion hasta resetear el sistema de recepcion ,cosa que lo estoy haciendo con las instrucciones anteriores.
A ver si me echan una manito.