USB HID Datenübertragung

Gast #541732
Lesenswert?
• ▲
▼
Hallo allerseits,

ich probier momentan eine Datenübertragung per USB hinzubekommen
auf Basis des Atmel USB Frameworks.


Verwendeter Mikroprozessor ist der AT91SAM7S256 (Dev-Board aus dem Shop 
hier).

Das Empfangen von Daten die der Mikrokontroller sendet (µProz -> PC) 
funktioniert, jedoch beim Senden von Daten zum Mikroprozessor tut sich
nichts.

Dabei schlägt auf PC-Seite
"WriteFile(m_devicehandle, (LPVOID)bytes, numbytes, &BytesWritten, 
NULL); "
Mit Fehler 1784 oder 87 (Invalid Parameters) fehl.
Für numbytes hab ich schon alle sinvollen Werte probiert und bin etwas
ratlos wo der Fehler liegen könnte.

Geöffnet wurde das Device mit:
CreateFile(m_pspdidd->DevicePath,
GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, NULL, NULL);


Der Report Descriptor des Mikrocontrollers sieht folgendermaßen aus:

static const unsigned char pReport[] = {
      HID_GLOBAL_USAGE_PAGE+2, 0xFF, 0xFF, // Vendor-defined
      HID_LOCAL_USAGE+1, 0xFF,             // Vendor-defined

      HID_MAIN_COLLECTION+1, HID_COLLECTION_APPLICATION,

      HID_LOCAL_USAGE+1, 0xFF,
      HID_GLOBAL_LOGICAL_MINIMUM+1, (unsigned int)-128,
      HID_GLOBAL_LOGICAL_MAXIMUM+1, (unsigned int) 127,
      HID_GLOBAL_REPORT_COUNT+1, 1,
      HID_GLOBAL_REPORT_SIZE+1, 8,
      HID_MAIN_INPUT+1, 0,

      HID_LOCAL_USAGE+1, 0xFF,            // Vendor-defined usage
      HID_GLOBAL_LOGICAL_MINIMUM+1, (unsigned int)-128,
      HID_GLOBAL_LOGICAL_MAXIMUM+1,  (unsigned int)127,
      HID_GLOBAL_REPORT_COUNT+1, 1,
      HID_GLOBAL_REPORT_SIZE+1, 8,
      HID_MAIN_OUTPUT+1, 0,

      HID_MAIN_ENDCOLLECTION
};



Hatte jemand schon mal ein ähnliches Problem?
Bzw. kann mir irgendjemand sagen ob ich ich im Report Deskriptor was 
verbockt habe?

Gruß
dms
Gast #542163
Lesenswert?
• ▲
▼
Hat sich erledig, hab den Fehler komischerweise kurz nachdem ich hier 
gepostet habe gefunden.
(War ein wirklich dummer Fehler, habe nämlich vergessen das erste
Feld des Buffers zu nullen und daher hat sich WriteFile beschwert)

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