Hallo zusammen, muss für ein Projekt eine Konfigurationsoberfläche programmieren. Mit dieser Oberfläche sollen Einstellungen für einen Mikrocontroller eingestellt werden können (wie z.B. Baudrate). Das ganze sollte Windows-konform sein, damit man das mit der Maus steuern kann. Kann mir jemand weiterhelfen, wie ich da am besten anfange und womit man das programmieren kann. Hab im Moment noch keine Ahnung. Vielen Dank im Voraus! Mfg Malve
Schon mal an Visual Basic, C, C++, C# oder Delphi gedacht? Ohne irgendein Vorwissen wird das eine wirklich sehr schwierige, wenn nicht sogar unmögliche Aufgabe. Es ist ja scheinbar nicht mal bekannt, was genau gemacht werden soll... Gruß Rahul
Hallo Malve wenn ich Dich richtige verstehe, sollst Du ein Windows-Programm schreiben. Dann ist Visual Basic oder Borland C++ Builder am Einfachsten. Gerhard
Hallo, soll das Ganze eine Datenbankanbindung haben, um die Konfigurationen in Echtzeit zu speichern oder ist es weniger zeitkritisch? Wenn es im Notes/Domino-Umfeld sein darf, kann ich gerne eine Aufwandsabschätzung machen. Nichts für ungut. Ich hole mir erstmal einen Kaffe. Gruß, Chaldäer
Hallo, also an Visual Basic hab ich auch gedacht. Im Programmieren mit C bin ich zwar kein Profi, hab aber schon einiges an Erfahrung gesammelt. Mein Problem ist eigentlich, dass ich eine Oberfläche programmieren soll, mit der man auswählen soll, welche Schnittstelle als Receiver und welche als Transmitter fungieren soll. Auf der einen Seite der Oberfläche soll somit eine Spalte für Receive und auf der anderen eine für Transmit existieren. Wie programmiert man sowas in C, damit man das ganze auch mit der Maus steuern kann? Oder kann man das auch ganz einfach nur mit "printf" und "scanf" machen? Eine Datenbankanbindung ist nicht nötig. Mfg Malve
Hallo printf und scanf geht nicht, es sei denn Du progarmmierst für ne Dos-Box. Ansonsten brauchst Du Buttons, Edit-Felder, List-Box oder Combo-Box. Mit Visual Basic, C++ Builder, oder Delphi geht das verhältnismäßig einfach. Gerhard
Hallo, vielen Dank für Deine Hilfe Gerhard. Gibts da auch Seiten wo man Beispiele runterladen kann um das mal anzuschauen? Hab bisher noch nichts gefunden. Malve
Hi ich empfehle JAVA und eine geeignete Entwicklungsumgebung (z.B. NetBeans) zum malen der GUI. Dann noch die JAVA-Erweiterung für die serielle Schnittstelle und schon funktioniert das. Ohne Vorwissen in OOP wird das aber wirklich schwierig. Matthias
Gerade JAVA finde ich etwas schwierig bei der Programmierung der GUI. Die ganzen Objekte sind weniger intuitiv als z.B. bei Delphi, was sich für so ein recht kleines Projekt für einen Anfänger meiner Meinung nach am besten eignet. Eine kostenlose Delphi-Version kann man sich überdies bei Borland herunterladen, wenn die damit erstellen Programme nicht kommerziell verwendet werden sollen. Eine google-suche nach "delphi tutorial" sollte eigentlich recht viele Ergebnisse liefern.
JAVA ? Bitte nicht, es ist immer wieder eine Zumutung, wie lahm doch all die Java-Programme mit GUI sind. Delphi ist eine sehr gute Wahl, gibts, wie schon erwähnt, kostenlos. Thorsten
Hallo, hab gerade erfahren, dass das ganze etwas anders aussehen soll. Ich benötige keine extra Eingabe für die Einstellungen, sondern die Konfiguration soll über das Hyper Terminal erfolgen. Sobald ich also meinen Kontroller anschliesse, soll im Hyper Terminal diese Konfigurationsoberfläche erscheinen. Also programmiere ich das ganze ja in C. Meine Frage ist jetzt, wie ich beim Programmieren vorgehe, damit das ganze funktoniert. Malve
Naja, immer auf JAVA herumzureiten, weil es lahm sein soll, finde ich auch nicht richtig. Ich will jetzt kein Programmiersprachen-Bashing anfangen, aber JAVA ist gar nicht so lahm, wie man es immer meint. Vor allem nicht, wenn es um so einfache Programme geht. Da kann man mit Swing durchaus schöne Dinge machen, vor allem, was skalierbare Fenster angeht. Für ein Konfigurationsinterface ist JAVA durchaus geeignet, vor allem, wenn es um die Steuerung von eigentlich Software-unabhängigen Hardware-devices geht und dann vielleicht mal kein Windows zu Hand ist. Aber wie ich schon sagte: Ich finde, dass JAVA als erste Programmiersprache durchaus okay ist, aber wenn es hier nur um ein kurzes Programmiererlebnis gehen soll, ohne dass weitergehendes Interesse am Erwerb von grundlegenden Programmierkenntnissen vorliegt, sollte man JAVA lieber lassen.
Hi Malve, wenn Du script sprachen magst (perl, python ...) gibt es dafür auch einige gute GUI toolkits. wxWidgets (www.wxwidgets.org) ist z.B. besonders portabel. Es läuft unter Linux, MacOS und Windoof. Gruss, oli
Hallo Oli, danke für deinen Post, aber kenn mich da leider nicht aus. Malve
HyperTerminal ist doch dieses einfache Programm, was über das UART kommuniziert, oder? Ich denke mal, dass das Menü dann so aussehen soll, dass du stets eine Auswahl an optionen bekommen sollst und mit der Eingabe von 1, 2, ..., n einen bestimmten Menüpunkt auswählen kannst. Wenn die Menüs verschachtelt sein sollen, dann musst du irgendwo speichern, in welchem Menü man sich befindet. Bei der Eingabe eines Zeichens musst du nun prüfen in welchem Menü du grad bist, für jedes Untermenü der Übersichtlichkeit halber eine eigene Funktion schreiben und dort bestimmen, was dann passiert.
Hallop Christof, vielen Dank. Kannst Du mir auch sagen, wie man das allgemein in C prograsmmiert, damit dieses Auswahlmenü auch im Hyper Terminal erscheint? Malve
Du brauchst eine einfache Textausgabe via UART. Habe bisher noch nie was mit AVR's in C gemacht, aber da gibt es doch sicherlich genug beispiele, wie man Text über den UART schickt. Übers Hyperterminal ist das ganze natürlich rein Textbasiert und da ist nichts mit Maus o.ä. Es ist ein einfacher Dialog, wo der AVR Text rausrückt (das Menü) und eine Eingabe erwartet und darauf reagiert.
Hallo Malve ich seh das auch so wie Christof Krüger. Wenns über Hyperterminal laufen soll, gibts keine Mausfunktion, sondern allenfalls Semigraphik, wie in alten DOS-Zeiten, mit scrollenden Bildschirmen.... Wenns mit Mausfunktion gehen soll, dann mußt Du ein Windows-Programm schreiben. Allenfalls ne olle Dos-Aplikation könnte noch gehen, ist aber mühsam. Gerhard
Hi war sagt "JAVA und GUI ist lahm" hat das selber noch nie probiert. Bei großen Anwendungen wie etwa NetBeans ist (war) JAVA zwar etwas lahm das hat sich aber von JRE zu JRE verbessert. Das neue 3.6er Netbeans würde sogar ich fast schon als flüssig bezeichnen. Bei kleinen Tools merkt man den Unterschied zu einer nativen Anwendung nicht. Zu Delphi kann ich nicht sagen. Kenne ich nicht. So schlecht ist Swing aber nicht. Für einen Anfänger ist aber wohl beides nichts. Da dürfte VB das geeignetste sein. Matthias
Hab mir die letzten Tage Python angeschaut (Ziel ist naemlich wohl was aehnliches, was Du auch vor hast - Konfiguration und Datenempfang des/vom uC). Mir erscheint Python mit wxWidgets sehr nett. Python ist eine recht platformunabhaengige Sprache, fuer die Kommunikation mit der seriellen Schnittstelle gibt es pySerial (http://pyserial.sourceforge.net/), das ebenfalls auf mehreren OSs funktioniert. Und fuer die GUI geht eben wxWidgets recht fein, ebenfalls fuer Windows (angeblich selbst Windows 3.1), GTK, MacOS verfuegbar. Klingt recht gut und man kommt find ich auch recht flott rein. Wohingegen man ueber MFC ja eher Schauergeschichten hoert :-? Gruesse und viel Erfolg, womit auch immer! johannes
Ach ja, was die Implementierung von Menus mit AVRs (falls es um solche geht) angeht, dazu hat Atmel die Application Note #244 (http://www.atmel.com/dyn/resources/prod_documents/doc2547.pdf)
@Malve: Uhrsprünglich ist wxWidgets sogar nur ein Toolkit für C/C++ gewesen. Von daher ist es ja evtl. doch was für dich. Die Scriptsprachen Wrapper gibt es nur, weil es so erfolgreich ist. Gerade objektorientiert (da kommt man ja bei GUIs nicht drumherum!) arbeitet sichs mit python leicht. Am Anfang merkt mans fast garnicht... Da, find' ich, ist C++ schon deutlich schwieriger. @Johannes WxWidgets ist glaub ich auf dem besten Weg dazu den bisherigen python GUI standard Tkinter abzulösen. Python ist einfach klasse! :-) Gruss, oli
> war sagt "JAVA und GUI ist lahm" hat das selber noch nie probiert.
Ich habe es sehr wohl probiert. Ich benutze zur Zeit jPicEdt (mit
neuster JRE), ein wirklich geniales Programm. Es ist
geschwindigkeitsmäßig leider eine Zumutung. Ok, ich besitze keinen P4
mit 3GHz, aber Java stammt ja auch aus einer Zeit, in der man solche
Rechner normalerweise nicht auf dem Schreibtisch hatte. Ich kenne auch
Together von Borland, eine Entwicklungsumgebung komplett in JAVA
programmiert. Ebenfalls ein totaler Witz, alleine das Starten der
Oberfläche liegt schon bald im Minutenbereich. Ich will JAVA wirklich
nicht schlecht machen, habe als erste Programmiersprache an der Uni das
sogar gelernt und es hat viele Vorzüge. Für kleine Sachen mag es gut
sein, für effiziente und schnelle Oberflächen ist Java noch nicht
geeignet; ist halt meine Meinung, die ich mir aufgrund eigener
Erfahrungen gebildet habe.
Thorsten
(http://pyserial.sourceforge.net/) Danke für den Link! DANKE DANKE DANKE! Seriell für Python. Mann-o-mann. Da muss ich gleich was mit proggen. Wusste gar nicht das es das gibt!
Bitte gern, freut mich, geholfen haben zu koennen :) Hab danach auch einige Zeit lang gesucht. Und bin nur zu Python gekommen, weil ich das mit Perl nicht so hingekriegt habe ;) Gruesse und netten Abend noch, johannes
warum nicht vc++ und mfc von m$... geht ganz gut..und ein 6er studio hab ich um 30e erstanden incl lizenz G zwar schülerlizenz aber das is für mich ok... learning edition kann jeder kaufen und lizenzieren nur verkaufen darf man damit nix... aber bitte nicht das .net weil das is krank.. gui mahlen usw is am einfachsten in der mfc... auch selbst herumbastln sprich selbst per gdi pinseln is einfach... nur c++ muss man können... www.codeproject.com hilft beim einstieg...was will man mehr ?? ;) 73 de oe6jwf
Hmm... nehm doch MS-Dos + Qbasic :) ich hab vor Jahren da mal Grafik/Mausunterstützung usw. programmiert und due kannst die Com Schnittstelle als einfach Datei öffnen.
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.