www.mikrocontroller.net

Forum: PC-Programmierung Konfigurationsoberfläche


Autor: Malve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Malve

wenn ich Dich richtige verstehe, sollst Du ein Windows-Programm
schreiben. Dann ist Visual Basic oder Borland C++ Builder am
Einfachsten.

Gerhard

Autor: Chaldäer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Malve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Malve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Malve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Oliver Keller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Malve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Oli,

danke für deinen Post, aber kenn mich da leider nicht aus.

Malve

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Malve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Johannes Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Johannes Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/...)

Autor: Oliver Keller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(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!

Autor: Johannes Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.