www.mikrocontroller.net

Forum: PC-Programmierung Mit welchem Prog HID Kommunikation realisieren


Autor: Thorben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte das PC und uC per USB miteinander kommunizieren.
Da ich auch nur Win benutze scheint mir die HID Klasse geeignet und ich 
brauch keine eigenen Treiber.

Aber womit programmiert man HID-Kommunikation am sinnvollsten? Schön 
wäre natürlich auch eine grafische Oberfläche, ist aber kein muss.
Habe schon an Delphi gedacht, da braucht man aber wohl auch eine extra 
JVCL(library).
Programmiert habe ich schon etwas u.a mit C/C++, Delphi.

Vielleicht hat ja jemand einen Vorschlag, wäre sehr dankbar dafür.

MfG Thorben

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thorben,
ist eigentlich ziemlich egal, ob in C, Delphi, Visual Basic, usw.
Der Datenaustausch mit der USB-HID-Treiberschnittstelle gestaltet
sich ähnlich einfach wie mit einer COM-Schnittstelle. Einfach
die veröffentlichten HID-Enumerations-API-Aufrufe in das Programm
einbauen und danach geht es mit OpenFile und ReadFile, WriteFile,
usw. weiter. Allerdings HID-typisch immer in kleinen Päckchen.
Es ist einzig darauf zu achten, dass bei Windows dem HID-Paket
noch ein Byte (0x00) voran gestellt wird.
Nahezu jeder USB-Chip-Hersteller stellt Demo-Software für
Windows und HID-Device bereit.

Autor: Andreas Weschenfelder (Firma: andreas-weschenfelder.de.vu) (rupplyn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht hilft die das:

Beitrag "usbn2mc - HID-Kommunikation"

Autor: Thorben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas, danke..werd ich mir anschauen

@Gast
Ich benutze das STK525 von Atmel, es gibt zwar ein Bsp. für HID("HID 
generic"), aber die PC-Software gibt es nur als .exe mit extra .dll und 
.h!?.. der Code ist nicht einsehbar. Und in einem pdf dazu sind Init, 
Find, Read, Write, Close kurz beschrieben!

>die veröffentlichten HID-Enumerations-API-Aufrufe in das Programm
>einbauen

Meinst du damit PID, VID...?

MfG Thorben

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thorben,
>>die veröffentlichten HID-Enumerations-API-Aufrufe in das Programm
>>einbauen
>
>Meinst du damit PID, VID...?

Ja genau. Oben wurden ein paar Beispiele dazu schon angeführt.
Dass auch purebasic mittlerweile USB-API anbietet, wusste ich
gar nicht. :-)

Nicht auf Atmel alleine fixieren. Was die PC-Software betrifft,
passen mehr oder weniger alle Hersteller-Lösungen gleichermaßen.
Sei es von ST für die uPSD-CPUs oder von Silabs für die C8051-
CPUs. Oder obige Beispiele. Einfach auf die eigene PID/VID und
die HID-Paketgröße anpassen.

In der Regel wird man den Empfang von Daten des HID-Devices
in einem eigenen Thread abwickeln, um die Anwendung nicht zu
blockieren.

Stolperstein ist meistens das von Windows hinzugefügte Byte
vor jedem HID-Paket. Das muss beim Empfang heraus genommen
werden und bei Aussendung vorne dran gestellt werden.
Ein HID-recordsize von 8 Bytes wird in Windows als ein Record
von 1+8 Bytes verarbeitet.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann bekomme ich bei Read 9Bytes und muss bei Write noch 1Byte an den 
Anfang setzen!?

Ralf

P.S. Danke für die schnelle Hilfe!

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.