TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: antoniojdobarro en 13 de Febrero de 2011, 00:05:33

Título: Problema Buffer
Publicado por: antoniojdobarro 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.
Título: Re: Problema Buffer
Publicado por: AKENAFAB en 13 de Febrero de 2011, 00:12:57
Puedes atender los datos por interrupciones y vaciar el buffer.
Título: Re: Problema Buffer
Publicado por: antoniojdobarro 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?