PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie erstellt man eine Software für den PC?



Zeroeightfifteen
23.04.2006, 22:12
Hallo
Ich will meinen bot mit meinem PC kommunizieren lassen. Wie erstelle ich ein Programm mit dem ich z.B. Variablen überwachen kann, Variablen steuern kann, berechen...

Ich wollte die Verbindung mit RS485 realisieren. Doch mit welcher Sprache schreibe ich die Software für den PC?
Ist das leicht zu erlernen?
Welche Schnittstelle ist dafür geeignet? kann ich da RS485 verwenden?

ExtreamCoder
23.04.2006, 22:46
ich würde dir entweder c++, java oder vb empfehlen obwohl ich von vb keine ahnung habe, habe ich schon mal programme gesehen die mit vb sowas machen.
oder falls du es zur Verfügung hast labView

Rage_Empire
24.04.2006, 09:07
visual studio.net express.....kannst du frei bei ms runterladen!

ruediw
25.04.2006, 01:05
1.Am PC gibt es in der Regel KEINE RS485.
Das heisst, Du brauchst einen Wandler von RS232 auf RS485 oder
von USB auf RS485.
2.Programmieren kannst Du es mit jeder Programmiersprache
die es erlaubt die RS232 Schnittstelle oder USB anzusprechen.
Da wären:
Basic, Pascal (Delphi), C, Assembler und verschiedene Derivate dieser
Programmiersprachen.
Für den Einstieg würde ich Dir Delphi,Pascal oder Basic empfehlen.

luma
03.05.2006, 21:55
Hio.
Ich würde dir Java empfehlen. Java ist im Vergleich zu C/C++ ein Segen und die anderen Sprachen würde ich erst gar nicht anschauen, weil die weniger bedeutend sind.
Die Vorteile von Java kurz aufgelistet:
- sauberer Code und keine so kryptische Namen à la C/C++
- große Bibliothek die fast schon alles mitbringt
- GUIs relativ einfach zu erstellen
- Multithreading mit Java null Problem
- usw.
Zu Java gibt es unzähle kostenlose Bibliotheken die es auch erlauben auf RS-232 zuzugreifen.

Wenn du Fragen hast einfach melden!
Du musst allerdings beachten, dass man Java oder auch C++ nicht am Wochende lernen kann. Ich lerns schon seit 2 Jahren und bin noch nicht der Profi.

Gruß
Lutz

strunz
03.05.2006, 22:25
Also ich habe schon alles mal ausprobiert JAVA, C++ und VB.NET.
Meiner Meinung nach ist VB.NET (Microsoft Visual Basic 2005 Express Edition kostet nix :-)) am besten zur Kommunikation geeignet.

Jaja, ich weis, gleich hagelt es!!!! Da hat natürlich jeder seine eigene Meinung, aber wie gesagt ich komme damit am schnellsten und einfachsten ans Ziel.

Vor allem weil es viel Resonanz darüber im Netzt gibt.

Ausserdem dibt es dort schon eine fertige Komponente um die Serielle schnittstelle des PC´s anzusprechen. Bei allen anderen Sprachen muss man erst müssam die sereille Schnittstelle einbinden.

strunz
03.05.2006, 22:28
@ ruediw,

ich glaube er meint eine Software für den PC, also anwendersoftware nicht Controllersoftware. Davür würde ich aber nicht Delph oder Basic nehmen. Meinst du nicht auch?

luma
04.05.2006, 15:21
Ausserdem dibt es dort schon eine fertige Komponente um die Serielle schnittstelle des PC´s anzusprechen. Bei allen anderen Sprachen muss man erst müssam die sereille Schnittstelle einbinden.

Ich muss ja Java verteidigen. (wobei die Bibliotheken ja nicht direkt was mit Java zu tun haben. Damit meine ich, dass ich unter dem Begriff "Java" die Programmiersprache meine und nicht die ganzen Bibliotheken, denn die können ja wirklich schlecht sein. Das sagt allerdings nichts über Java aus). Es gibt z.B. die RxTx-Bibliothek für Java. So etwa 10 Zeile Code reichen um eine Verbindung mit der seriellen Schnittstelle aufzubauen mit allem drun und dran. Da ist nichts mühsames!
Ich kann Java nur wärmstens empfehlen, auch wenn es nicht auf Mikrocontroller läuft. Da führt dann wohl kein Weg an C/C++ vorbei außer du kaufst dir so ein Mini- bzw. NanoITX Board auf dem du dann z.B. Win XP installierst oder so.

Gruß
Lutz

BiGF00T
04.05.2006, 15:33
Ich wäre für Delphi, zu VB kann ich nichts sagen, Java ist auch lustig, C# kann man auch ruckzuck Sachen machen.
C/C++ kann man dann eben auch später fürs Programmieren des uCs benutzen, deswegen wäre es auf jeden Fall wert, gelernt zu werden. Wenn es aber um schnelles Entwickeln eines Programms geht (mit Oberfläche vor allem), das einfach was anzeigen soll, dann wäre ich für die oben genannten. VB höre ich nur immer wieder, dass es auch sowas is. Zwischen Java und C# gibts ned wirklich so die großen Unterschiede.
Delphi gibts als Personal-irgendwas-Edition irgendwo umsonst. Wies mit dem anderen Zeug aussieht, weiss ich nicht. Java gibts auch so.
Oben hat wer gesagt, dass VB auch ne kostenlose Version hat. Also liegt es einfach nur an dir das Zeug alles durchzuprobieren und am Ende das zu benutzen, was dir am meisten zusagt. Im Endeffekt sind fast alle "dasselbe". Die anderen Sprachen spielen sehr wohl eine Rolle, einen klaren Vorteil kann ich bei keiner von ihnen sehen. Java ist schön aber bestimmt nicht die einzig wahre Sprache mit der meisten Relevanz.
Java ist auf alle Fälle mal nen Blick wert. Aber man kann erst sagen, dass man es mag, nachdem man seinen Blick überall mal hatte.

techboy
04.05.2006, 15:34
Wenn du keine Software mit einer Oberfläche machen willst dann würde ich dir C empfehlen ... Wenn du allerdings etwas mit Buttons und dem ganzen drum und dran machen willst dann kann ich dir eigentlich entweder Java oder Perl empfehlen...(perl hab ich noch nich ausprobiert, aber mein vater programmiert nur damit)

Mfg.Attila Földes

BiGF00T
04.05.2006, 15:39
Perl empfehlen
Perl ist lustig aber krank... Wobei man es wahrscheinlich auch krank oder auch normal betreiben kann. Mir schien das immer relativ krank. Auch wenn ich mal nen Editor mit Perl TK oder so gesehen hatte, der annehmbar war.
Ich denke aber mit ein wenig gemischten Gefühlen an mein Perl lernen zurück (habe es nie weit gelernt). War relativ krank, man kann viel machen aber halt auch viel krasses (falsches?). Also halt ich mich mit Kommentaren lieber bissle zurück und lass das jemanden bewerten, der da schon tief in der Materie steckt. (obwohl das zum Teil schon schlimme Fanatiker sind... EDIT: Zumindest wenn ich zwei Kumpels von mir als Maßstab nehme ;))

strunz
04.05.2006, 15:44
Genau das habe ich gemeint, bei so einem Thema reissen sich die Programierer in fetzten.
Jeder hat halt seine lieblingssprache und jeder verteidigt diese.

Im endeffekt wirst du wohl selbst entscheiden müssen was für DICH am einfachsten zu lernen ist.

Ich sag nur so viel: Kannst du eine Sprache gut, ist es kein Problem mehr eine anderen zu erlernen. Denn irgendwo sind die alle miteinander Verwandt.

BiGF00T
04.05.2006, 15:50
Genau das habe ich gemeint, bei so einem Thema reissen sich die Programierer in fetzten.
Jeder hat halt seine lieblingssprache und jeder verteidigt diese.

Im endeffekt wirst du wohl selbst entscheiden müssen was für DICH am einfachsten zu lernen ist.

Ich sag nur so viel: Kannst du eine Sprache gut, ist es kein Problem mehr eine anderen zu erlernen. Denn irgendwo sind die alle miteinander Verwandt.
100% Übereinstimmung. Manche rufen fast den Jihad aus wenn sie streiten, ob C# oder Java besser ist. (Obwohl ich da kaum Unterschiede sehe, ausser das eines von einer schrecklich bösen Firma ist) Eine Lösung kann man in jeder Sprache finden heutzutage sind alle Sprachen meist sowieso nur noch "Dialekte", wenn man das so sagen darf.
Hier läuft die Diskussion aber in richtig guten Bahnen finde ich. Habe schon viel schlimmeres erlebt. (vielleicht, weil das dann Programmierforen waren wo wirklich jeder eine Meinung und viele Vorurteile dazu hat)

luma
04.05.2006, 15:51
Was halt für Java spricht sind die ganzen Bibliotheken, die fast alle unter der GPL stehen. Damit ihr euch einen kleinen Überblick machen könnt: http://www.javalinkbase.de/
So findet man mal ganz nebenbei Bibliotheken um Verschlüsselung (RSA, AES, usw.) in sein Programm einzubinden, oder Bibliotheken zum berechen komplexer mathematischer Funktionen, oder oder oder. Ich wage mal zu sagen, dass es zu fast allem schon eine entsprechende Bibliothek gibt.

Aber ich glaube strunz hat recht. Solche Diskusionen sind, naja, sinnlos, weil jeder eben seine Sprache hat und auf der beharrt.
Hier was zum Thema:
Die Geschichte von C (weil ich C net ausstehen kann) (http://www.c-plusplus.de/geschichte.htm)
Wie jagt man Elefanten? (http://www.c-plusplus.de/cms/modules.php?op=modload&name=News&file=article&sid=1&mode=thread&order=0&thold=0)

;)

:oops:


100% Übereinstimmung. Manche rufen fast den Jihad aus wenn sie streiten, ob C# oder Java besser ist. (Obwohl ich da kaum Unterschiede sehe, ausser das eines von einer schrecklich bösen Firma ist).

Ja natürlich gibts da einen Unterschied. C# läuft nur auf Windows. Wenn das mal nicht rassistisch ist ;).

Gruß
Lutz

BiGF00T
04.05.2006, 16:04
Ja natürlich gibts da einen Unterschied. C# läuft nur auf Windows. Wenn das mal nicht rassistisch ist ;).

Gruß
Lutz
Mit einer anständigen Begründung lasse ich sowas gerne gelten, also kein Grund zum Erröten ;)
Es gibt halt nur die wirklich rassistische Fraktion, die das nicht so begründet, sondern sagt: "M$ (das $ ist wichtig an der Stelle ;)) ist böse, deswegen ist C# schlecht.".

Wenn dann jemand "MS" erwähnt, geht gleich ein Aufschrei durch die Menge "ER HAT JEHOVA GESAGT" *Steinschmeiss*

17.08.2006, 00:48
Ich nehme visual basic .net. Wenn man ein WIN user ist, ist dies die einfachste möglichkeit, einfach aber effizient win_anwendungen zu schreiben. Die Bibliotheken werden mit Framework mitgeliefert, man brauch nur noch ein klein wenig Verständnis von der Materie, und diese zu erlernen ist ja wohl kein problem, da Visual Basic als einer der einfachsten Prog sprachen gilt; So mein empfinden, da ich schon mit vielen Prog. sprachen gearbeitet habe.... VB .NET ist recht neu, und aufjedenfall ausbaubar..... Ich bin kein Großer fan von Microsoft, jedoch muss ich sagen das man mit dieser von MS rekonstruierter Sprache effiziente Anwendungen schreiben kann, die auch kompatible mit unix, respektive Linux sein können.... Jedem der eine Prg. sprache erlernen will, lege ich MS VB 2005 E. V. zu Herzen....

Jedoch ist dies meine meinung zu dem ganzen, mich würde natürlich interessieren was ihr dazu meint...
Bitte schreibt zurück falls ihr schon bekanntschaft mit VB .NET gemacht habt. Würde mich sehr interessieren, was eingefleischte C++, Java, Delphi u. Pascal Programmer dazu sagen....


Bis dahin CU u. Good BY

marvin42x
17.08.2006, 07:52
Zurzeit läuft hier im Forum ein Open-Source-Projekt.
Mit dem hier im Thread angesprochenen Ziel.

https://www.roboternetz.de/phpBB2/viewtopic.php?t=16297&postdays=0&postorder=asc&start=0

Eine Komponente davon ist eine grafische Oberfläche zur Fernüberwachung und Steuerung eines Roboters, geschrieben in Visual Basic 2005.

Den ersten Vorentwurf werde ich zur Weiterentwicklung demnächst ins Netz stellen.
Es wäre schön wenn sich da noch Mit-Programmierer finden würden.

VB ist meiner Meinung nach eine der guten Möglichkeiten sowas zu realisieren.

Einfach mal reinschauen

Netter Gruß

Klaus W. H.
21.08.2006, 12:08
C# läuft nur auf Windows.

Mag ja sein das ich mich irre und C# was anderes sein soll als C++.
Aber zumindest C++ gibt es wohl auf jedem System, sei es Win, OS2, Unix, Linux oder was auch immer.
Und für ebenfalls fast alle Systeme gibt es C und C++ auch als GNU-Version. Also frei erhältlich.
C hätte den Vorteil durchaus portabel zu sein (naja. In Grenzen) und auch für die in unserem Forum verbreiteten Controller zur verfügung zu stehen. Man lernt also nur eine Sprache, die auch noch umsonst erhältlich ist.
Java läuft, wie auch C auf so ziemlich jeder Plattform. Probleme die ich damit hatte lagen eigentlich nur bei der Mehrfachvererbung. Was wohl dran liegt, daß ich eher aus der Pascal-Schiene komme. Java kostet ebenfalls erstmal nichts. Es mag sein, daß die eine oder andere Bibliothek was kostet.
Delphi-Versionen, die wirklich was taugen, kosten richtig viel. Ich habe zu DM-Zeiten für Delphi 4 Client Server Suit einige Tausender hingelegt.
Aber wie gesagt : Es soll auch da freie Versionen geben. Erweiterungen in der Funktionalität gibt es in Form sog. Komponenten ohne Ende. Auch für 0 Euronen absolut hervorragende Sachen. Hardwarenahes Proggen ist auch kein Problem, da ein brauchbarer Inlineassembler zur Verfügung steht. Die Portierung nach Linux ist aber einfach nur krank. Dann lieber C.

Basic ist so eine Sache. Wenn es VB ist, dann klappts eh nur unter M$.
Soll aber sehr leicht erlernbar sein.

Die Scriptsprachen wie Perl oder PHP sind auch auf fast allen Systemen verfügbar. Quelltexte sind zumeist eins zu eins oder mit nur sehr geringen Änderungen austauschbar. Ich selbst bevorzuge PHP. Perl war mir doch etwas zu cryptisch. Hardwarenähe kann man aber wohl bei beiden vergessen.

Wenn ich so alles zusammen nehme, dann denke ich, obwohl ich Delphi und PHP Fan bin, sollte man besser gleich mit C bzw. C++ anfangen.
Das Zeug ist ausgereift, billig und weit verbreitet, so das man leichter Hilfe bekommt.

Gruß Klaus

Xtreme
21.08.2006, 15:56
Gut, denn gehe ich jetzt mal und werd meine Delphi- Version bei Eb** los...
C lernen ist angesagt... :cheesy:

mirage
22.08.2006, 17:30
Ich muss ja Java verteidigen. (wobei die Bibliotheken ja nicht direkt was mit Java zu tun haben. Damit meine ich, dass ich unter dem Begriff "Java" die Programmiersprache meine und nicht die ganzen Bibliotheken, denn die können ja wirklich schlecht sein. Das sagt allerdings nichts über Java aus). Es gibt z.B. die RxTx-Bibliothek für Java. So etwa 10 Zeile Code reichen um eine Verbindung mit der seriellen Schnittstelle aufzubauen mit allem drun und dran. Da ist nichts mühsames!
Ich kann Java nur wärmstens empfehlen, auch wenn es nicht auf Mikrocontroller läuft. Da führt dann wohl kein Weg an C/C++ vorbei außer du kaufst dir so ein Mini- bzw. NanoITX Board auf dem du dann z.B. Win XP installierst oder so.


Volle Zustimmung! Java wird einfach zu oft belächelt - meist von Leuten, die es nicht kennen oder die irgendwann im letzten Jahrtausend noch damit zu tun hatten. Heute ist es auf jeden Fall eine ausgewachsene Programmiersprache, die z.B. auch für PC-Anwendungen mit RS232 verwendet werden kann.

robocat
22.08.2006, 17:56
ich kenne java tatsächlich nur von vor 2-3 jahren. da musste man bei sun eine runtime-lib loaden, die sofort abgekackt ist, wenn bereits ein älteres java installiert war. danach konnte man schon etwas machen, für einen user-defined button unter windoof (also bspw. ein bunter button oder buttons mit icon in der gui) musste man aber schon wieder fremde bibliotheken mit reinnehmen.

für ein fragile bild, das mir c in 2 minuten gerendert hat, hat java ne stunde benötigt. din a1 bitmaps sind mir damit auch nie gelungen.

fragile bild:
http://fragile.dead-men.de/img/fragile/01l.jpg

ich weiß nicht ob ich die sprache unterschätze, oder nie dahintergekommen bin, wie man sie anwendet, aber für mich als c coder war es eher ein griff ins klo.

@klaus
bist du das in dem avatar? sieht cool aus, ich mag das bild ;)
c# (c sharp) ist soweit ich weiß ein etwas anderer c dialekt.
http://de.wikipedia.org/wiki/C-Sharp
ist halt microsoft .NET gschmarri. für mich nicht relevant, weil meine software auch ohne ".NET" laufen soll und portabel bleiben muss.

gruesse, eure katz

ManniMammut
22.08.2006, 21:20
c# (c sharp) ist soweit ich weiß ein etwas anderer c dialekt.
http://de.wikipedia.org/wiki/C-Sharp
ist halt microsoft .NET gschmarri. für mich nicht relevant, weil meine software auch ohne ".NET" laufen soll und portabel bleiben muss.

c# wird oft auch "liebevoll" als "Cis" genannt, weil's halt nen schräges M$-Gschmarre ist.
Sehe das genauso, wie du, Robocat. Code muss für mich portabel sein. Also am besten Ansi-C O:)


MfG, Manni

PS: Das Bild, das du da gerendert hast, sieht toll aus!

Xtreme
23.08.2006, 15:18
Kann mir jemand ein gutes Buch für C-Einsteiger empfehlen?

PICture
23.08.2006, 16:38
Hallo!

Ich habe zwei (vielleicht blöde) Fragen:

In welcher Hochsprache, die unter Windows 95/98 läuft, kann ich kleine Assemblerprogramme für meine Hardware als Funktionen anbinden ?

Stimmt das, dass Windows kein direkten Zugriff auf die einzelnen Register z.B. von Schnittstellen zulassen ?

Früher unter DOS konnte ich das mit QBasic machen.

MfG

robocat
23.08.2006, 17:06
hallo PICture,
in c (habs jetzt mal mit bcc32 getestet) ist so etwas hier kein problem:

void main(void)
{
unsigned char i;
asm {
mov al,'A'
mov i,al
}
}
so ähnlich sollte das auch mit anderen hochsprachen gehen.
google mal nach "inline assembler"..

@Xtreme
ein gutes buch weiß ich jetzt keines (obwohl es sicher einige gibt), man findet aber auch im netz sehr viel material, tutorials, einsteigerkurse etc.
englischkenntnisse sind hier sehr von vorteil, es gibt aber auch deutsche kurse, hier zB:http://www.fh-augsburg.de/informatik/vorlesungen/c_cplus/tutorial/cyris/

@Manni
danke fürs lob *freu* O:)
hier gibt es noch etwas mehr "fragile art" von mir:
http://fragile.dead-men.de/
http://home.arcor.de/z0mbi3/nne/

gruesse, eure katz

PICture
23.08.2006, 17:38
Hallo robocat!

Vielen Dank für blitzschnelle Antwort! :)

Meine Lieblingssprache für Hardware ist und bleibt ASM, aber für langsame Sachen z.B. Menüs ist es zu aufwendig.

Ich werde also QBasic mit c ersetzen. Das kann ich eben auch für PIC Programmierung nutzen.

MfG