Forum: Mikrocontroller und Digitale Elektronik v-usb und VB 6


von tutut (Gast)


Lesenswert?

Hallo an alle :-)

ichh habe mir eine Atmega8 mit V-USB geflasht. Ich möchte gern über die 
HID Treiber von Windows AD Werte aus dem Atmega8 lesen. Dazu habe ich 
dne HID-Data Firmeware von V-USB drauf gemacht. Wenn ich das nun am 
Rechner anstecke wird das als HID-Device erkannt. Da ich "nur" Visual 
Basic 6 zum Programmieren für Windows haben, dachte ich man kann dann 
dieses Gerät ansprechen. Dazu habe ich mir ein Beispiel von 
http://lvr.com/hidpage.htm runter geladen.

Damit schein ich das Gerät auch anssprechen zu können, ich bekomm auch 
Informationen von dem Gerät, mein Problem ist aber, ich kann nichts an 
das Gerät senden. Der Fehler liegr wohl in der "Output Report Byte 
Length" Die ist 0 (null).

Muss ich im V-USB Treiber diese Werte angeben?

Kann mir jemand ein einfaches Beispiel zum senden und empfangen für VB6 
geben?

Vielen Dank

von \0 (Gast)


Lesenswert?

Hey, anstatt die da mühsam selber was bauen zu müssen, probiers mal mit 
einer umgebauten Version von http://www.recursion.jp/avrcdc/cdc-io.html.
Die Japaner^^ emulieren einen USB-COM-Port-Dongle, wo in Wirklichkeit 
der ATmega dranhängt und sich mit einer einfachen Kommandozeile steuern 
lässt.
In VB gibt es doch ein Steuerelement, das die Kommunikation über 
COM-Ports erlaubt.
\0

von tutut (Gast)


Lesenswert?

Hey danke für die Antwort. Über Seriell das hab ich schon gemacht. nun 
ist mein Problem, das Teil haben meine Eltern und wenn die das an den 
Rechner stecken, dann nehmen die immer irgendeinen freien USB Port. 
Leider ändert dann Windows die COM Schnittstelle. Warum auch immer. Nun 
dachte ich eben, naja mit dem HID Device das ist doch ne feine sache und 
wollte das nun damit machen. nur irhendwie bekomm ich das nicht gebacken 
:-(
Ich hab es auch schon über den LIBUSB versucht, nur da finde ich auch 
keine passenden Beispiele wie ich da Daten senden und empfangen kann. 
Wobei ich hier schon mal so weit bin das ich das Gerät öffnen kann und 
Infos bekomme.

Wie gesagt, ich hab "leider" nur VB kenntnisse :-(

von \0 (Gast)


Lesenswert?

In der originalen CDC-IO-Firmware gibt es die Funktion "Who".
Wenn dein Gerät eben (mit einem kleinen Timeout) nicht entsprechend 
Antwort gibt, wars wohl doch das Modem oder sonstwas anderes, oder eben 
gar kein Gerät. Wenn kein Com-Port vorhanden ist, ließe sich die 
entsprechende Fehlermeldung auch irgendwie abfangen und dann der nächste 
Com-Port testen.
Die Com-Ports durchzurattern und dann das zuerst gefundene, als richtig 
verifizierte Gerät herzunehmen, sollte mit einem Timer(in VB) gut 
machbar sein. Nach COM20 könnte man das ganze auch noch 
begrenzen(soviele Coms hat doch kein normaler Mensch).
\0

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.