Autor Tema: Problema Buffer  (Leído 1792 veces)

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

Desconectado antoniojdobarro

  • PIC12
  • **
  • Mensajes: 84
Problema Buffer
« en: 13 de Febrero de 2011, 00:05:33 »
El pic se encuentra conectado al pc, y como los datos que recibe son aleatorios en cantidad, como puedo evitar que se quede bloqueado debido a que el buffer se llena.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Problema Buffer
« Respuesta #1 en: 13 de Febrero de 2011, 00:12:57 »
Puedes atender los datos por interrupciones y vaciar el buffer.

Desconectado antoniojdobarro

  • PIC12
  • **
  • Mensajes: 84
Re: Problema Buffer
« Respuesta #2 en: 13 de Febrero de 2011, 00:36:12 »
do{
   if(bit_test(PIR,5)){
      switch(getchar()){

      case 'q':                       
      do{
      giro_izquierda();}
      while(bit_test(PIR,5)==0);
      break;

      case 'w':                         
      {
       delay_ms(1000);}
      do{
      avance();}
      while(bit_test(PIR,5)==0);
      break;
               
      case 'e':
      do{
      giro_derecha();}
      while(bit_test(PIR,5)==0);
      break;
     
     
      case 'z':
      do{
      retrocede_izquierda();}
      while(bit_test(PIR,5)==0);
      break;
     
     
      case 'x':
      do{
      retroceso();}
      while(bit_test(PIR,5)==0);
      break;
     
     
      case 'c':
      do{
      retrocede_derecha();}
      while(bit_test(PIR,5)==0);
      break;
     
     
      case 'a':
      do{
      rota_izquierda();}
      while(bit_test(PIR,5)==0);
      break;
   
     
      case 'd':
      do{
      rota_derecha();}
      while(bit_test(PIR,5)==0);
      break;
     
     
      case 's':
      detencion();
      break;
     
   
     
      }
    }
    else detencion();
}
while (x<10);
}




Estaría bien para atender a las interrupciones por datos de entrada en el buffer?


 

anything