Bonjour j'ai un projet dont j'utilise la foncyion "go to;" pour generer un tel sorte de menue
le probleme ce que la reponse du procedure et lente ; en effet si je teste sur un boutton ca marche parfois et
parfois nn voici une partie de mon programme sur PIC C:
Code:#include <18F4550.h> #fuses HSPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN #use delay(clock=MHZ) #include <usb_cdc.h> #include <usb_desc_cdc.h> #include <pic18_usb.h> // Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver #include <usb.c> // handles usb setup tokens and get descriptor reportsp #include <stdlib.h> #include "kbd.c" #include "LCD.c" #include <24256.c> #define EEPROM_SCL PIN_E1 #define EEPROM_SDA PIN_E2 char LETRA[]; Void main() { char ptr,k,c[8],d[8],Pswrd[5]; int E,i,j,l; float n; i=0; j=0; l=0; E=0; C=0; d="21861653"; lcd_init(); kbd_init(); usb_cdc_init(); usb_init(); init_ext_eeprom(); while (true) { if(READ_EEPROM(0)!=0xFFFF) // EEPROM vierge ? {L=READ_EEPROM(0);} // valeur valide else{write_eeprom(0,0);}//valeur par defaut if(READ_EEPROM(1)!=0xFFFF) // EEPROM vierge ? {Pswrd=READ_EEPROM(1);} // valeur valide else{write_eeprom(1,"12345");} //valeur par defaut Menu: while (true) { lcd_init(); kbd_init(); k=kbd_getc(); printf(lcd_putc,"\fMenue"); delay_ms(100); if(k!=0) { if (k=='1'){delay_ms(200); goto ADD_CODE;} if (k=='2'){delay_ms(200); goto scanner;} else printf(lcd_putc,"\fbad cmd"); } } ADD_CODE: lcd_init(); printf(lcd_putc,"\fCODE:"); while (true) { k=kbd_getc(); if(k!=0) { if(k!='*'&&k!='#'&&i<8) {
-----