Bien, lo tenía construido con If, else if, else, lo que ocurre es que no puedo poner un break, quiero que lo repita siempre, son entradas del teclado que van cambiando, luego tengo tambien do-while. Todo funcionaba perfectamente cuando tenía entradas independientes en el pic (si había tensión en A1 pues haz esto, si en A2 pues lo otro, el problema es cuando quiero que lo haga a partir de caracteres ya que las entradas son de RS232 luego han de ser caracteres, y no funciona como debería, se corta o traba a partir de virtual terminal).
void main(void) {
do{
switch(getchar())
{
case '2':avance();
case '3':giro_derecha();
case '5':retroceso();
default: detencion();
}
}
while(x<10);
El problema es que si no es 2 ni 3 ni 5 no tiene por que ejecutar detencion() ya que el caso contrario a esos es cualquier letra a,b,c, y yo quiero que detecte como caso contrario ninguna pulsación