TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado 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.
-
Puedes atender los datos por interrupciones y vaciar el buffer.
-
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?