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
> Für numbytes hab ich schon alle sinvollen Werte probiert und bin etwas > ratlos wo der Fehler liegen könnte. Dann wäre es interessant, zu sehen, wie die anderen Parameter von WriteFile aussehen. Code?
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)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.