Servus beinand!

Ich habe meine Menüführung immer so gelöst:

zwei Globale Variablen: MUNUE_NR und DRAW.

MUNUE_NR bestimmt das aktuelle menu.
Meißt muss man ja nur das Display einmal mit dem aktuellen Menü
beschreiben. Das macht die DRAW-Variable. Ändert man das Menü,
setzt man DRAW auf >0 (zB 1 ). Die entsprechende Menüfunktion erkennt das und beschreibt das
LCD und setzt dabei DRAW wieder auf 0:

Die Funktion MENUE() führst du dauernd aus!

Diese bestimmt das momenthan ausgewählte Menü.

Code:
uint8_t MENUE_NR=0;
uint8_t DRAW=1;

void MENUE( void ){
	
	switch( MENUE_NR){
		case 0 MENUE_HAUPT();		break;
		case 1 MENUE_LCD();		break;
		case 2 MENUE_CONFIG();		break;
		case 3 MENUE_SAMPLE();		break;
		case 4 MENUE_TIMER();		break;
	}	
}




void MENUE_HAUPT( void ){
	if(DRAW){
		//Zeichne das menü auf den Bildschirm
		DRAW=0;
	}
	
	
	// hier kannst du sachen ausführen, die im menue gemacht werden müssen
}

void MENUE_LCD( void ){
	if(DRAW){
		//Zeichne das menü auf den Bildschirm
		DRAW=0;
	}
	
	
	// hier kannst du sachen ausführen, die im menue gemacht werden müssen
}

usw....