www.mikrocontroller.net

Forum: PC-Programmierung Windows USB Client in C#, Java oder C++ ?


Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute

ich möchte eine Windows Anwendung erstellen, die mir Daten vom uC 
zugänglich macht. Und zwar über die USB Schnittstelle. uC seitig ist es 
soweit klar.
Ich kenne mich mit C aus. Nun stehe ich vor dr Entscheidung in welcher 
Sprache ich die Win Anwendung mache. Was führt am schnellsten zum Ziel. 
Welche Sprache bietet gute USB Funktionalität und vielleicht schon 
fertige Module?
Hintergrund: Es sollen CAN Frames empfangen und an die Win Applikation 
gesendet werden. In umgekehrter Richtung ebenfalls.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Welche Sprache bietet gute USB Funktionalität und vielleicht schon
> fertige Module?
Meiner Meinung nach gilt für beides die Antwort: keine der Sprachen.
Begründung: USB ist nicht abhängig davon, welche Sprache du verwendest, 
sondern davon, wie gut du programmieren kannst, genauer gesagt, wie gut 
der Controller-Hersteller den Entwickler unterstützt.

Die meisten Hersteller stellen zumindest eine DLL und Firmware zur 
Verfügung, mit denen du mit dem Controller kommunizieren kannst. Die DLL 
und die Firmware arbeiten zusammen, hat den Vorteil, dass du dich nicht 
arg um die USB-Interna kümmern musst (abgesehen vielleicht von der 
Anpassung der USB-Deskriptoren usw.).
Wenn dir also die Funktionalität, die dir die DLL/FW zur Verfügung 
stellen, ausreicht (und das tut es meist), dann kannst du fast jede 
Sprache nehmen, die eben die DLL-Einbindung unterstützt. Je nachdem, wie 
fit du mit USB bist, kannst du später sogar ganz auf die DLL verzichten, 
und die FW so schreiben, dass es einer der im OS bereits vorhandenen 
Standard-Klassen entspricht (HID, CDC, usw.)

Nach meinen Erfahrungen würde ich sagen, entweder C++, C# oder VB, da du 
ja sagst, dass du mit C fit bist, entweder C++ oder C#, und deine 
CAN-Auswertung dürfte sich m.E. locker mit der DLL lösen lassen.

Ralf

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch ein Tipp:
Wird eine eigene Device-Klasse verwendet und kann auf 
Isochrone-Transfers verzichtet werden, bietet sich unter XP und Vista 
noch WinUSB an.
http://msdn.microsoft.com/en-us/library/aa476426.aspx
http://www.lvr.com/winusb.htm

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für einen USB Controller verwendest du denn? Oder ist das eine 
eigene Implementierung auf einem µC? Es muss ja da zumindest einen 
Treiber dazu geben, eine DLL, die den Treiber anspricht wäre noch 
besser....

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...kiekste mal bei libusb nach (sourceforge), mingw-C compiler + z.B. 
eclipse als ide zum komfortablen debuggen usw.

falls du keine gui brauchst haste 1-fix-3 damit was zusammen in C unter 
windows.

gruss, tom.

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.