hi, mit einem usb-gerät (hid) sende ich 8bit daten in 1ms (polling intervall) abständen an den pc. dabei gehen daten verloren, wahrscheinlich weil mein application programm (in vb) die datenrate nicht bewältigen kann. ich habe zwar das polling-intervall verändern und erziele auch bessere ergebnisse, aber ganz zufrieden bin ich damit nicht. hat jemand ähnliche probleme gehabt oder weiß wie ich diese problem am besten löse?
Es ist eine gute Idde, bInterval so groß wie möglich zu halten; das hält den Bus frei für andere Geräte. Wenn Du die eine Millisekunde nicht wirklich brauchst, setze das Intervall ruhig hoch. Wenn Du es trotzdem nicht schaffst, das eine Byte Deines Reports rechtzeitig zu verarbeiten, kannst Du Dir überlegen, den Eingangsbuffer zu erhöhen. Das machst Du mit der API-Funktion HidD_SetNumInputBuffers (Achtung: Der zweite Parameter ist die Anzahl der Reports, nicht Bytes). Im Übrigen hege ich gerade den Verdacht, daß Du die Daten in einem Timer einliest. Wenn dem so ist und Du tatsächlich jeden Report mitbekommen mußt, Dir keine Aussetzer leisten kannst, hast Du Dein Problem gefunden. Das geht nicht in einem Timer.
stimmt, du hast mit deiner vermutung recht. ich benutze den 1,024-millisekunden-timer as interrupt (sof-isr).ich werde das dann umändern. besser ist es dann einen usb-endpunkt-interrupt zu benutzen? danke rene!! ich werde ausprobieren, ob es funktioniert.
rene du bist echt ein king :) dank dir hab ich den fehler beseitigt bzw rausgefunden, dass es daran liegt. die datenübertragung klappt super, es gehen keine daten verloren........yeeeeee
leider hab ich an einer anderen stelle ein weiteres problem entdeckt, und zwar: ich sende kontinuierlich eine zahl z.b. 10. dieser report kann auch empfangen werden in meiner pc-application. aber in unregelmäßigen abständen wird plötzlich eine ganz bestimmte zahl empfangen. und diese zahl ist immer dieselbe. ich weiß nicht woher die herkommt.. an meiner firmware kann es nicht liegen, die habe ich emuliert bzw. der code ist minimal. ich weiß nicht woher diese zahl herkommt... läuft an einer stelle irgendwas schief mit meinen api-aufrufen? readfile?
Hi.. ich möchte ein Referat über den Polling-Bus von USB halten... Habt ihr irgendwelche Seiten für mich wo ich mich über diese Thematik belesen kann bis in den Urschleim? als was in die tiefe geht .. wo man sieht wie das alles funktioniert? mfg Tobias F.
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.