zu viel zeug im RAM würde schon einiges erklären
kann nicht schaden den bedarf an RAM zu überdenken und gegebenenfalls zu reduzieren, bevor du weiter nach anderen fehlern suchst.


also so was wie dein menü gehört wirklich nicht in ne headerdatei.
änder das mal schnell in menue.c bevor noch jemand lacht

wenn du es nicht immer drin haben willst, dann mach das z.b. mit bedingter compilierung (#ifdef MENUE ... #endif oder so)

ein header enthält üblicherweise forward declarations, wird in mehrere quelltextdateien eingebunden und sollte deshalb nichts enthalten, was code oder daten erzeugt.