usb und polling intervall

Gast #386170
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?
#386171
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.
Gast #386172
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.
Gast #386173
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
Gast #386174
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?
Gast #1197784
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.