Faire un menu type console en C embarqué
Bonjour,
Je cherche à faire un petit menu en C pour permettre à un utilisateur de choisir par 3 choix, 2 de ces choix doivent amener l'utilisateur à entrer 2 autres informations.
1 Ajouter un numero de telephone -> Entrer la position ou le stocker (0-100) -> Entrer le numero de telephone
2 Supprimer un numero de telephone -> Entrer la position ou il se trouve (0-100)
3 Afficher la liste des numéros
L'utilisateur entre les informations par l'interface serie, un buffer appelé uart2_buffer contient ce qu'il tape dès qu'il termine par la touche [ENTREE]
J'ai fait ceci, mais je suis bloqué car je ne sais pas comment laisser le programmer tourner et permettre a l'utilisateur de rentrer les données via le menu :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| int choix;
unsigned char uart2_buffer[30];
choix = atoi(uart2_buffer);
switch (choix)
{
case 1: // Ajouter un numéro
putrsUART2("Entrer la position du numero a ajouter-> ");
uart2_buffer[0] = '\0';
break;
case 2: // Supprimer un numéro
putrsUART2("Entrer la position du numero a supprimer-> ");
uart2_buffer[0] = '\0';
break;
case 3: // Liste des numéros
putrsUART2("Liste des numeros\r\n");
uart2_buffer[0] = '\0';
break;
default: // ne fait rien dans les autres cas
// putrsUART2("choix non disponible");
break;
} |
Lorsque l'utilisateur tape sur 1 puis [entrée] , uart2_buffer contient "1 et le caractère de fin :\0"
Lorsque le programme tourne et que uart2_buffer ="1\0", on rentre dans le case 1 et on en sort aussitot, pour éviter de boucler et d'afficher sans cesse le message : "Entrer la position du numero a ajouter->", je vide uart2_buffer.
A partir de ce point je ne sais pas comment faire pour attendre que l'utilisateur rentre une position comprise entre 1 et 100 et ensuite le numéro de téléphone sur 10 chiffres.
Pourriez vous m'aider svp ?
Merci beaucoup,