Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Omar2
    Registrato dal
    Mar 2001
    Messaggi
    174

    [C] come fare un "loop" per menu

    Ciao,

    allora io ho un problema, sto scrivendo un programmino in C per il pic interfacciato ad un display, devo fargli fare un menu con le voci che scorrono, ci sono due pulsanti un di UP scorre la voce avanti, tasto down scorre la voce indietro.

    quindi, mettiamo di avere la variabile UP che vale 1 quando il testo up è premuto che incrementa una variabile, che ha un limite minimo di O e un limite massimo di 255, di massimo 4 volte.
    abbiamo la variabile down che quando premo il testo down vale 1 e decrementa il registro citato sopra, come faccio a fare questo, con un codice abbastanza breve?
    io ho scritto questo... ma devo trovare un modo più spiccio
    codice:
    void MENU (void) {
    
    NUM_MENU = 1;
    
    while (1) {
    
    if (TUP == 0) {
    	NUM_MENU++;
    	if (NUM_MENU > 2) { NUM_MENU = 1;}
    	delay_ms(100);
    	}
    
    VISUALIZZA_VOCE_MENU();
    
    if (TDOWN == 0) {
    	NUM_MENU--;
    	if (NUM_MENU < 1 || NUM_MENU > 2) { NUM_MENU = 2; }
    	delay_ms(100);
         }
      }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    La cosa più breve che mi viene in mente:
    codice:
    void MENU (void) {
    
    NUM_MENU = 1;
    
    while (1) {
    
    	if (NUM_MENU += TUP - TDOWN > 2) NUM_MENU = 1;
    	if (NUM_MENU < 1) NUM_MENU = 2;
            VISUALIZZA_VOCE_MENU();
    	if (TUP || TDOWN) delay_ms(100); 
      }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.