Forum: PC-Programmierung Einfache Kommandos an USB-Gerät abgeben


von Dietrich W. (dietrichw)


Lesenswert?

Hallo,
Ich hoffe ich hab das richtige Forum erwischt für mein Problem, falls es 
irgendwo besser hinpasst, einfach verschieben.

Wir entwickeln momentan eine Anwendung, bei der ein MSP430F5529 uC mit 
einem Android Tablet über Usb-HID kommunizieren soll. Dabei sollen 
bestimmte Befehle über USB verschickt und empfangen werden können. Dabei 
kann es auch passieren, dass die MCU sich eigenständig meldet.

Ich bin dabei für die Microcontroller Programmierung zuständig, und da 
diese unter Windows läuft, bräuchte ich irgendein Tool zum Testen, mit 
dem ich ein Tablet "simulieren" kann. Soll heißen, ich will diese 
Befehle möglichst einfach abgeben können. Und, falls der Microcontroller 
sich meldet, auch empfangen bzw auf irgendeine Art ausgeben können. Es 
kann auch gerne eine einfache Konsole sein, bei der ich die Befehle 
direkt eintippe und die Antworten ausgegeben werden.

Ein paar Lösungen hab ich bereits gefunden, aber ich dachte vielleicht 
können die Profis hier mir etwas besseres empfehlen.

Hier noch die Projekte, die ich gefunden hab
http://sourceforge.net/projects/usbhid/
http://www.softpedia.com/get/Others/Miscellaneous/USB-HID-Terminal.shtml


Vielen Dank und beste Grüße

Dietrich

von Peter (Gast)


Lesenswert?

Und was für ein HID-Gerät simuliert Dein MSP? Maus, Keyboard, Generic?

von Dietrich W. (dietrichw)


Lesenswert?

Ein Generic.
Es wird noch eine App entwickelt, die alle Nachrichten von/zu dem Gerät 
verarbeitet.

von Peter (Gast)


Lesenswert?

Dann implementiere ein Input-Report (hast Du vermutlich sowieso) und 
nutze diese Demo für C#, C++, VB, Matlab oder LABview: 
http://www.ahidlib.com

Es ist äußerst einfach die Demos anzupassen. Und Visual Studio Express 
kostet auch nix.

von Uwe (Gast)


Lesenswert?

> Dabei kann es auch passieren, dass die MCU sich eigenständig meldet.
Aber nicht bei USB

von Dietrich W. (dietrichw)


Lesenswert?

Uwe schrieb:
>> Dabei kann es auch passieren, dass die MCU sich eigenständig meldet.
> Aber nicht bei USB

Warum nicht?
unsere App reagiert bereits auf externe Ereignisse, im moment ist das 
zwar nur ein einfacher Tastendruck, aber es geht.

Danke für den Tip mit der Lib.

Gruß Dietrich

von Manfred F. (manfred_f)


Lesenswert?

Dietrich W. schrieb:
> Warum nicht?

Weil USB eine Mster-Slave Sache ist, d.h. es gibt genau einen Master 
(den PC/Tablet), der periodisch alle Slaves (die angeschlossenen 
USB-Geräte) abfragt. Ein USB-Gerät kann sich also nicht selbstständig 
beim Master melden sondern muss immer warten bis es gefragt wird.

: Bearbeitet durch User
von Dietrich W. (dietrichw)


Lesenswert?

ok, ich merk schon, ich muss noch einiges lernen

von Εrnst B. (ernst)


Lesenswert?

Dietrich W. schrieb:
> ok, ich merk schon, ich muss noch einiges lernen

So wild ist das nicht. Zwar wird jede Kommunikation vom Host aus 
gestartet, aber die Devices können in ihrem Descriptor angeben "Frag 
mich alle xxx ms, ob ich was zu sagen habe".

Dein µC muss dann praktisch nur noch die Daten bereitlegen, der PC/das 
Tablet holt sie dann schon zeitnah ab.

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.