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?