Hallo, ich schreibe gerade an eine kleinen µC Anwendung. Ich habe gestern ein vierzeiliges Display angeschlossen und Frage mich gerade wie man in C eine sinnvolle Menüstruktur zusammenbastelt. Hat da jemand einen Tip? Ich will das Menü auch per UART an den PC senden und dann vom PC aus senden. Wie sollte das Menü am besten abgelegt sein? Vielen Dank. Peter
Menüs kann man sehr elegant mit Funktionspointern realisieren. dazu einfach mal Beispiele im Internet bzw. hier im Forum suchen. Gibts genug.
U8glib bietet eine Menüfunktion, ist allerdings komplex und speicher-hungrig. Für die Terminalvariante gibt es mcurses: http://www.mikrocontroller.net/articles/MCURSES
Hallo Peter, ich verwende zur Steuerung eines Menüs Tabellen im Flash. Pro Menüebene eine eigene Tabelle !, so wird es mit den Indexen in der Tabelle einfacher. Die dazu benötigten Funktionen habe ich nun nicht dokumentiert, aber es wird u.a. eine Satz Stackfunktionen benötigt. Dies ist kein kompletter Code sondern soll nur die Tabellenstruktur aus einem realen Programm (Projekt NT Powermeter zur Erfassung von Spannung und Strom, Leistung) aufzeigen.
Cool Uwe, auf was für einem Prozi lässt du das laufen? Ich habe genau was änliches vor. Will mir einfach Strom und Spannungswerte möglichst schnell samplen und dann verrechnen und integrieren. Versuche das gerade mal mit dem Atmega328 und dessen internen AD Wandler. Wollte das relativ einfach halten, leider ohne Netztrennung. Was baust du genau? Gruß Peter
Hallo Peter, das war ein Bauprojekt in unserem OV im März 2014 "NT-Powermeter" nach einer Idee von DG7XO. Die Firmware habe ich komplett neu geschrieben und die Hardware erweitert, so dass ich einige Verbesserungen und Erweiterungen einarbeiten konnte. Wir haben dazu eine Baumappe geschrieben, die hat nun ~12MB Größe. Bitte sende mir mal deine Emailadresse, dann kann ich sie Dir zusenden. Anbei die erweiterte Messschaltung für einen 4-Leiter Messshunt mit PBV 1mOhm mit einem Fehler <0,5%. Die Shunts wurden extra für uns selektiert. Ich habe einen atMega328p eingebaut, der war zu dieser Zeit preiswerter als ein atMega168p.
Ich hatte das selbe Problem. Das hier hat mir sehr geholfen: http://projects.higaski.at/videotutorials/videotutorial1_lcd_menus/videotutorial1_lcd_menus.html Der Umbau für die Nutzung von flash steht noch aus (mein Programm passt nicht mehr in den Atmega8... Notfalls muss ich auf den 328er wechseln). Gruß Max
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

