Autor Tema: Limpiar buffer usart  (Leído 1943 veces)

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

Desconectado hqv

  • PIC12
  • **
  • Mensajes: 70
Limpiar buffer usart
« en: 29 de Junio de 2005, 22:50:00 »
hola amigos del foro:

Tengo el siguiente problema:

Estoy ocupando un pic16f877 y transmito datos desde el pc al pic...hasta aqui no hay problema, ocupo la interrupción de transmisión, guardo los datos y los miestro en pantalla.

lo que pasa es que cuando tengo desactivada la interrupción por rda y me llega un dato, este queda en el BUFFER y cuando habilito la interrupción esta salta con un dato erroneo( el que me llegó antes de activarla)..

por lo tanto lo que quiero es poder borrar los datos que me pueden llegar antes de habilitar la interrupción para asi tener 100% de seguridad que se activó la interrupción por un dato valido....

espero que me haya explicado bien...

gracias por culquier tipo de sugerencia....

hqv

Desconectado T0ni0

  • PIC16
  • ***
  • Mensajes: 196
RE: Limpiar buffer usart
« Respuesta #1 en: 30 de Junio de 2005, 01:02:00 »
Yo lo que hago para borrar un string es lo siguiente:

strcpy( string, "" ) ;

Pero de todas formas, normalmente se define un string como una serie de caracteres terminados en "" si te falla el asunto siempre puedes poner este caracter al final. okSonrisa Gigante
- T0ni0 -
30RCF112

Desconectado rmelectron

  • PIC10
  • *
  • Mensajes: 5
RE: Limpiar buffer usart
« Respuesta #2 en: 24 de Septiembre de 2005, 09:43:00 »
Estimado Amigo:
Te propongo que implementes un hanshake por software simple que te asegure la sincronizacion de la comunicacion adoptando a la PC o al PIC como master. De todas formas definite la posicion de RCREG en el programa y antes de activar la interrupcion de interrupcion cereal RCREG=0; y listo.

Un abrazo, Ricardo


 

anything