STM32 USB viele gleiche devices an einem host

Gast #6386881
Lesenswert?
• ▲
▼
Hallo Leute,

ich hab vor einiger Zeit ein kleines USB-basiertes Messinterface (für 
Temperatur, Impulszähler o.ä.) gebaut, das auch sehr gut funktioniert.

Die VCP-USB-Implementierung hab ich von Stefan F.s Webseite, und hab die 
auch mit eurer Hilfe erfolgreich zum Laufen gebracht. Danke dafür!!!
(Beitrag "STM32 USB init problem mit Kompaktcode von W.S." ).

In einer Anwendung hab ich jetzt mehrere (gerne 10+) von diesen kleinen 
Boards an einem PC laufen. Jedes Modul schickt etwa im Sekundentakt ein 
Datum mit ca. 40 Bytes.
Die Stromaufnahme der einzelnen Module ist minimal, grad was der 
STM32F042 benötigt.

Wenn ich mehr als 5 Module an einem USB Port (via aktivem oder passivem 
Hub) anschließe, hab ich Probleme:
- manche Module melden sich nicht am PC an,
- wenn ich sie der Reihe nach einstecke geht z.B. das 6te Modul 
gelegentlich nicht mehr.
- im Betrieb fällt die Kommunikation mit manchen Modulen aus (kein 
Datentransfer am VCP mehr.
- manchmal gehen auch 6 Module über längere Zeit gut..

Hat jemand eine Ahnung, an was das liegen könnte?
Meine Möglichkeiten tief in das USB-Geschehen einzutauchen sind (wegen 
unzureichendem USB-Knowhow) beschränkt, ich hab daher keine große Ahnung 
wo ich da zu Suchen anfangen sollte...
Gast #6387018
Lesenswert?
• ▲
▼
Hallo W.S.

Asche auf mein Haupt, natürlich nicht !! :-0

Ich nehme an du meinst den

[c] const byte StringSerial[26] = { [\c]
...

in usb.c, oder?

Da ist es ja fast verwunderlich, dass es überhaupt mit 2 Devices 
funktioniert...
#6387045
Lesenswert?
• ▲
▼
nun Seriennummern sind bei CDC nicht unbedingt notwendig aber hilfreich. 
Ohne diese wird jedes mal beim Enumerieren ein neuer Comport angelegt. 
Das ist bei so vielen Devices schon mal ein Problem. Ich will gar nicht 
wissen wie deine Registry inzwischen aussieht.
Wie viele Comports kann win überhaupt? 255?
Ohne SN am besten abgeleitet von einer Chip UUID wirst du Probleme 
bekommen. Die Registry bzw PNF Dateien wirst du aufräumen müssen.

Antwort schreiben

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.

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.