Ich möchte mir gerne ein simples LCD-Menü erstellen.
In den meisten Infos die ich gesammelt habe wird erwähnt das man das am besten mittels Pointer realisiert.

Diesbezüglich habe ich mir mal folgendes zusammengestellt:

Code:
// LCD-Menüeinträge definieren
// ===========================
const char menu_000[] PROGMEM = " Multifunktions ";	// 0
const char menu_001[] PROGMEM = "ArcadeController";	// 1
const char menu_002[] PROGMEM = "** HAUPTMENUE **";	// 2
const char menu_100[] PROGMEM = "Tastenzuordnung>";	// 3
const char menu_101[] PROGMEM = "[X        ]    1";	// 4
const char menu_102[] PROGMEM = "[XX       ]    2";	// 5
const char menu_103[] PROGMEM = "[XXX      ]    3";	// 6
const char menu_104[] PROGMEM = "[XXXX     ]    4";	// 7
const char menu_105[] PROGMEM = "[XXXXX    ]    5";	// 8
const char menu_106[] PROGMEM = "[XXXXXX   ]    6";	// 9
const char menu_107[] PROGMEM = "[XXXXXXX  ]    7";	// 10
const char menu_108[] PROGMEM = "[XXXXXXXX ]    8";	// 11
const char menu_109[] PROGMEM = "[XXXXXXXXX]    9";	// 12
const char menu_200[] PROGMEM = "<Dauerfeuer    >";	// 13
const char menu_201[] PROGMEM = "[         ]    0";	// 14
const char menu_202[] PROGMEM = "[X        ]    1";	// 15
const char menu_203[] PROGMEM = "[XX       ]    2";	// 16
const char menu_204[] PROGMEM = "[XXX      ]    3";	// 17
const char menu_205[] PROGMEM = "[XXXX     ]    4";	// 18
const char menu_206[] PROGMEM = "[XXXXX    ]    5";	// 19
const char menu_207[] PROGMEM = "[XXXXXX   ]    6";	// 20
const char menu_208[] PROGMEM = "[XXXXXXX  ]    7";	// 21
const char menu_209[] PROGMEM = "[XXXXXXXX ]    8";	// 22
const char menu_210[] PROGMEM = "[XXXXXXXXX]    9";	// 23
const char menu_300[] PROGMEM = "<System        >";	// 24
const char menu_301[] PROGMEM = "LCD            >";	// 25
const char menu_302[] PROGMEM = "<LED-Test       ";	// 26
const char menu_400[] PROGMEM = "<Speichern     >";	// 27
const char menu_500[] PROGMEM = "<Beenden        ";	// 28


typedef struct def_menustruktur
{
	const unsigned char *text;
	struct def_menustruktur* next;
	struct def_menustruktur* previous;
	struct def_menustruktur* sub;
	struct def_menustruktur* up;
	void (*funktion)(void);
}menustruktur;

void tastenzuordnung(void);
void dauerfeuer(void);
void lcd(void);
void led(void);
void speichern(void);
void beenden(void);

// Tabelle von Zeigern auf die Texte erstellen
// ===========================================
menustruktur menu[] PROGMEM =
{
 	{menu_100, 13, 3, 4, 3, },
	  	{menu_101, 5, 4, 3, 3, tastenzuordnung},
	  	{menu_102, 6, 4, 3, 3, tastenzuordnung},
	  	{menu_103, 7, 5, 3, 3, tastenzuordnung},
	  	{menu_104, 8, 6, 3, 3, tastenzuordnung},
	  	{menu_105, 9, 7, 3, 3, tastenzuordnung},
	  	{menu_106, 10, 8, 3, 3, tastenzuordnung},
	  	{menu_107, 11, 9, 3, 3, tastenzuordnung},
	  	{menu_108, 12, 10, 3, 3, tastenzuordnung},
	  	{menu_109, 12, 11, 3, 3, tastenzuordnung},
	{menu_200, 24, 13, 14, 13, },
		{menu_201, 15, 14, 13, 13, dauerfeuer},
		{menu_202, 16, 14, 13, 13, dauerfeuer},
		{menu_203, 17, 15, 13, 13, dauerfeuer},
		{menu_204, 18, 16, 13, 13, dauerfeuer},
		{menu_205, 19, 17, 13, 13, dauerfeuer},
		{menu_206, 20, 18, 13, 13, dauerfeuer},
		{menu_207, 21, 19, 13, 13, dauerfeuer},
		{menu_208, 22, 20, 13, 13, dauerfeuer},
		{menu_209, 23, 21, 13, 13, dauerfeuer},
		{menu_210, 23, 22, 13, 13, dauerfeuer},
	{menu_300, 27, 24, 25, 24,},
		{menu_301, 26, 25, 24, 24, lcd},
		{menu_302, 26, 25, 24, 24, led},
	{menu_400, 28, 27, 27, 27, speichern},
	{menu_500, 28, 27, 28, 28, beenden}
};
So ganz funktioniert das leider noch nicht.
Kann mir da jemand weiterhelfen?