Forum: Mikrocontroller und Digitale Elektronik STM32 CDC Device zu Host langsam


von Pepe (Gast)


Lesenswert?

Hallo.
Ich verwende verschiedene STM32, die ich per USB/CDC mit der Library aus
STM32CubeMX anspreche. Die Kommunikation funktioniert sauber.
Wenn ich vom PC was rausschicke, dann erhalte ich <1ms die Antwort vom 
Device zurück.
Jetzt würde ich gerne auch Pakete vom Device schicken, die zu einem 
beliebigen Zeitpunkt vom STM32 rausgeschickt werden. (weil z.B. 
irgendetwas passiert)

Hab dies mit CDC_Transmit_HS probiert. Messages kommen zwar an, aber nur 
relativ langsam. D.h. circa alle 15ms kommt eine Message.

Kann mir jemand einen Tipp geben wie ich dies schneller hinbekomme?
Oder ist USB nur in eine Richtung "schnell"?

Vielen Dank,
Pepe.

von dummschwaetzer (Gast)


Lesenswert?

> circa alle 15ms kommt eine Message.
wie groß ist die?

von N. M. (mani)


Lesenswert?

Und wie verifiziert du das?
Über ein Terminal?
Dann könnte es auch das Buffering deines Betriebssystems sein.

von Pepe (Gast)


Lesenswert?

@dummschwaetzer
Nur zum Testen: 7 Zeichen: "message"

@N.M.
Hab ein eigenes Programm geschrieben, dass mir für jedes Paket, welches 
empfangen/gesendet wird, die Systemticks protokolliert.

von Pepe (Gast)


Lesenswert?

@N.M.
Es ist Windows. Hab per Oszi nachgemessen, wie schnell der STM32 seine 
Pakete rausschickt. Der schickt die 30 Packages -wie geplant- jede 1ms 
raus.
"Ausgeliefert" bekomme ich die Packages jedoch innerhalb von 0.5sec.
Also bleibt nur Windows, dass wohl pro "Zeitscheibe" (15ms) nur eine 
Messages ausliefert. Jetzt verstehe ich auch warum die erste Message 
immer nach weniger als 15ms ankommt.

Danke für die schnelle Hilfe.

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
Noch kein Account? Hier anmelden.