www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB HID Datenübertragung


Autor: dms (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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?

Autor: dms (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.