Forum: PC-Programmierung S: Starthilfe für GUI WINxp rs232


von Thomas K. (dlt)


Lesenswert?

Hallo Forum

habe im letzten Jahr ein Labornetzteil realisiert daß ich nun am PC
einbinden will.

Will ein GUI auf XP programmieren mit Logfunktion und Sollwertvorgabe
des Netzteils (über rs232)

nun gut aber wo fang ich jetzt als neutron an?
1. festlegen auf programmiersprache?
   ich denk mal c++ wird jetzt nicht die geeignetste sprache für
   schnelle erfolge sein, möchte ich aber dennoch versuchen um für
   zukünftige projekte gut gerüstet zu sein

2. ich brauch eine entwicklungsumgebung?
   irgendwas für lau wär nett
   im google hab ich den MSvisualc++ builder for free gefunden
   suche in c foren hat ergeben daß es warscheinlich nicht die
   schlechteste lösung sein wird?

   da ist dann alles drinnen was ich brauche? compiler libraries etc?

3. benötige ich dann spezielle bibliotheken um die schnittstelle
   anzusteuern?

einige tutorials zu c++ hab ich schon gefunden

was würdet ihr anders machen, sprache? entwicklungsumgebung?

und noch eine letzte frage:
wie hoch schätzt ihr den aufwand in stunden mit einarbeiten?

fang fast bei 0 an, bin aber schnell lernfähig und hatte mal vor ein
paar jahren ein kurzes c tutorial durch

vielen vielen dank!

von Stefan (Gast)


Lesenswert?

Mein Vorschlag: Schau dich nach plattformübergreifenden
Umgebungen/Libraries um und mach den Linux-Port gleich mit.

Links dazu:
http://www.mikrocontroller.net/forum/list-8-1.html?filter=plattform*
http://www.mikrocontroller.net/forum/read-8-303618.html#new

von Thomas K. (dlt)


Lesenswert?

danke stefan

doch bin ich jetzt immer noch fast gleich schlau

empfiehlst du mir den wxwidget?

das ist jetzt keine entwicklungsumgebung sondern eine
plattformübergreifende library?

würd mich sehr darüber freuen wenn mir jemand vom fach
empfehlungen geben könnte
(insbesondere in sachen entwicklungsumgebung)

kann ich jede gui-library auf jeder entwicklungsumgebung verwenden?

danke!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> kann ich jede gui-library auf jeder entwicklungsumgebung verwenden?

Nein.

MFC beispielsweise oder Carbon sind plattformspezifisch.

Portable bzw. Cross-Platform GUI-Toolkits lassen sich mit
verschiedenen Entwicklungsumgebungen verwenden.

Für wxWidgets gibt es einen GUI-Builder namens DialogBlocks, der
abgesehen vom nicht integrierten Debugger so ziemlich alles erledigt,
was eine Entwicklungsumgebung machen muss. Das Teil kann mit ziemlich
vielen verschiedenen Compiler-Backends verwendet werden und existiert
für Win32, verschiedene Linuxe und auch Mac OS X.
http://www.anthemion.co.uk/dialogblocks/

Kostet zwar etwas Geld, das aber ist das Teil eindeutig wert.

von Wolfram (Gast)


Lesenswert?

Die Frage ist was du wirklich willst,

Von vornherein kann man sagen in C oder C++ wirst du länger für die
Oberfläche brauchen, als wenn du etwas anderes nimmst.
Da du angibst du hast mal vor über einem Jahr ein C Tutorial
durchgearbeitet wird es dir auch nicht viel nützen.
In VB oder C# hast du wesentlich schneller eine Oberfläche gezaubert
als in C++/MFC und wenn du dich auf Windows beschränken willst gibt das
ja auch kein Problem.
In was hast du das Netzteil programmiert? Möglicherweise sind da ja
Kenntnisse vorhanden auf denen du aufbauen kannst.
Eine andere Möglichkeit ist LABVIEW , einige Steuerprogramme der Art
wie du sie vorhast sind in dieser Programmiersprache realisiert.
Die serielle Schnittstelle anzusteuern sollte in keiner der genannten
Sprachen Probleme machen. Du solltest darauf achten das du den
Anzeigenteil und die serielle Schnittstellenkommunikation sehr genau
trennst.

>was würdet ihr anders machen, sprache? entwicklungsumgebung?
Ich würde die Kommunikation mit dem Netzteil über einen COM-Server
machen, den ich in Visual C schreibe. Die Oberfläche könnte ich dann in
einer beliebigen Programmiersprache machen, die COM-Support hat,
wahrscheinlich VB oder Labview. Da du bei 0 anfängst wird das aber
wahrscheinlich kein Weg für dich.

>wie hoch schätzt ihr den aufwand in stunden mit einarbeiten?
irgendwo zwischen 1 Woche und 1/4 Jahr das hängt von dir ab

Entwirf erstmal eine Oberfläche so wie du sie möchtest, dazu kannst du
VB benutzen, wenn du die Oberfläche so hinbekommst wie du sie möchtest
kannst du ja probieren ob du mit der Programmiersprache zurechtkommst,
sonnst hast du zumindest schonmal einen Oberflächenentwurf.

von Frank (Gast)


Lesenswert?

Schau Dir mal python und TKinter an. Sehr angenehme Sprache, schnelle
Erfolge garantiert. Dazu gibts dann mit pySerial auch noch eine
wunderbar einfache Schnittstelle für RS232. Alles natürlich
plattformunabhängig und für Deine Anforderungen auch schnell genug.
<-Meine Empfehlung

von Thomas K. (dlt)


Lesenswert?

@rufus

66 euro ist mir jetzt am anfang zu teuer weil ich noch total planlos
bin was ich will

@wolfram

welche nachteile habe ich bei c#?
ist noch nicht so verbreitet?
hat aber laut wikipedia zukunft, ?
programmiert wurde mein netzgerät in assembler

@frank
python kommt mir jetzt irgendwie nicht so verbreitet vor?
hat es denn zukunft?
schaut so aus als ob es eine randerscheinung bleiben wird?

falls ich bei c++ bleibe: bin ich mit der freeware von MS und wxwidget
gut beraten? (weil ich ja noch nichts ausgeben will)

von Thomas K. (dlt)


Lesenswert?

nach weiterem recherchieren wirds wohl c# werden

danke für eure antworten!

von Wolfram (Gast)


Lesenswert?

>welche nachteile habe ich bei c#
du bist auf .Net Runtimes(windows) angewiesen, kommt drauf an ob man
dies als Nachteil ansieht

Du wirst so oder so eine Programmiersprache neu lernen muessen.
Wenn du eine Oberfläche machen willst, dann nimm eine
Programmiersprache mit der man Oberflächen gut hinbekommt.

von Frank (Gast)


Lesenswert?

Google verwendet zum Großteil Python, im Linuxbereich ist es deutlich
verbreiteter als unter Windows, Diverse Software für HIL Prüfstände ist
in Python geschrieben, mittlerweile implementieren viele Firmen Software
zuerst in Python und portieren dann nach C++. Es entwickelt sich einfach
ungleich schneller als unter C++. Es hat schon Zukunft.

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
Noch kein Account? Hier anmelden.