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.