Deine usbFunctionSetup behandelt write-Requests nicht korrekt. Genauer: Sie behandelt gar nichts. Du hast dir die Doku angesehen?
mfG
Markus
Deine usbFunctionSetup behandelt write-Requests nicht korrekt. Genauer: Sie behandelt gar nichts. Du hast dir die Doku angesehen?
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
Hallo,
danke für den Link zur Doku, die kannte ich noch nicht.
Behandelt werden sollte noch nichts, weil ich dachte das er trotzdem empfangen kann. Nur zwar noch nichts mit den Daten macht.
Hab meine usbFunctionSetup mal umgeschrieben:
Hatte die Hoffnung das er mir auf dem Display nun irgendetwas anzeigt, aber leider vergebens.usbMsgLen_t usbFunctionSetup(uchar setupData[8])
{
usbRequest_t *rq = (void *)setupData; // cast to structured data for parsing
switch(rq->bRequest){
case 1:
lcd_clear();
lcd_string(rq->wValue.bytes[0]); // evaluate low byte only
return 0; // no data block sent or received
}
return 0; // ignore all unknown requests
}
Wenn ich in der usbFunctionSetup ganz am Anfang sage das er "Hallo" auf dem Display ausgeben soll, erscheint nichtmal das "Hallo".
Das heißt doch, das die Funktion erst garnicht aufgerufen wird?!
Gruß
coder44
Geändert von coder44 (09.05.2013 um 09:53 Uhr)
Du solltest dir die Doku ganz dringend nochmal genauer durchlesen. Du gibst als Rückgabewert immer 0 zurück, und 0 ignoriert den Request. Ich bin sowieso erstaunt, dass der Lesevorgang überhaupt funktioniert. Wenn du dir die Beispiele zu usbFunctionRead und usbFunctionWrite ansiehst, dürfte dir auffallen, dass nachdem der Header geparst wurde, USB_NO_MSG zurückgegeben wird, was dem Treiber signalisiert die write/read-Funktion aufzurufen.
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
Lesezeichen