Hola. Tengo un problema con un código de menús.
Puedo hacer que pase de rutina en rutina oprimiendo un pulsador, pero no que regrese al anterior.
En el único que funcionó es en el primer menú que pude pasar directamente al último. (el cinco)
Acá dejo un pedazo del código para que vean lo que quiero:
Al compilar me tira "recursion not permitted (menu_uno)
Obviamente sacando las //.
Muchas gracias por su ayuda.
Puedo hacer que pase de rutina en rutina oprimiendo un pulsador, pero no que regrese al anterior.
En el único que funcionó es en el primer menú que pude pasar directamente al último. (el cinco)
Acá dejo un pedazo del código para que vean lo que quiero:
PHP:
void menu_uno(void)
{
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("menu uno");
lcd_gotoxy(1,2);
lcd_putc("_");
while(true)
{
output_high(PIN_A0);
delay_ms(300);
output_low(PIN_A0);
output_high(PIN_A1);
delay_ms(300);
output_low(PIN_A1);
output_high(PIN_A2);
delay_ms(300);
output_low(PIN_A2);
output_high(PIN_A3);
delay_ms(300);
output_low(PIN_A3);
if (!t_up){delay_ms(200);
menu_dos();
}
if (!t_down){ delay_ms(200);
menu_cinco();
}
intf=0;
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
}
}
////////////////////////////////////////////////////////////////////////////////
// Submenu 2
//
///////////////////////////////////////////////////////////////////////////////
void menu_dos(void)
{
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("menu dos");
while(TRUE){
output_high(PIN_A0);
delay_ms(100);
output_low(PIN_A0);
output_high(PIN_A1);
delay_ms(100);
output_low(PIN_A1);
output_high(PIN_A2);
delay_ms(100);
output_low(PIN_A2);
output_high(PIN_A3);
delay_ms(100);
output_low(PIN_A3);
if (!t_up)delay_ms(200);
menu_tres();
// if (!t_down) delay_ms(200);
//menu_uno();
intf=0;
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
}
}
Al compilar me tira "recursion not permitted (menu_uno)
Obviamente sacando las //.
Muchas gracias por su ayuda.
Última edición por un moderador: