Mit welchem Prog HID Kommunikation realisieren

Gast #671852
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
Gast #671861
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.
Gast #671952
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
Gast #671967
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren