Hallo, ich nutze erfolgreich die USB Device Library für den STM32 F10x, derzeit im VCP Modus. Ich hätte gerne eine Lösung, bei der sich mein Schaltung als individuelles USB-Gerät meldet, und nicht als eine Standard-Geräteklasse. Die Beispiele von ST sind ja so gewählt, dass keine Treiber nötig sind: HID-Device, Audio-Device, Mass-Storage. Nur für den VCP stellt ST einen Windows Treiber zur Verfügung - aber letztendlich hat man damit auch kein individuelles USB-Gerät, sondern eben einen virtuellen Com Port. Könnt ihr mir auf die Sprünge helfen wie ich ein eigenes Gerät entwickeln kann? Man braucht ja irgendeinen Treiber, der über eine API (.dll) den Zugriff auf das Gerät ermöglicht. Leider konnte ich keine Beispiele bei ST oder im Internet finden. Welche USB Class letztendlich für die Übertragung verwendet wird, ist untergeordnet (am liebsten isochron Audio, aber auch CDC, DFU...) hauptsache das Ding taucht im Gerätemanager als eigene USB Hardware auf. Danke, Sven
USB Treiber zu programmieren ist nicht so einfach. Schaue dir Jungo ( http://www.jungo.com/st/wdusb.html )an. Kostet aber was. Ich glaube es gibt eine Demoversion, so kann man sich schon einen Eindruck machen, wie solche Treiber aussehen. MfG
Du musst keinen USB Treiber programmieren. Du kannst einfach ein Gerät machen mit beliebigen Endpoints, und eine vendor-specific class und darauf mit LibUSB oder WinUSB zugreifen. Das sind generische USB Treiber. Wobei ich perönlich mehr zu WinUSB tendieren, einfach weil der in jedem Windows seit XP SP2 drin ist und signiert, also auch für x64 ohne Klimmzüge machbar. geht aber mittlerweile bei der LibUSB wohl auch. Über diese Treiber/DLL kannst du dann einfach Böcke an die Endpoints schreiben oder von denen lesen. Ist total einfach. Isocron geht aber mit WinUSB nicht. Würde ich auch nicht machen, denn da hast du keine Datensicherheit.
Besten Dank, die Sache mit der libUSB klingt sehr interessant. Das werd ich mir mal reinziehn. ps. ja ich weiss dass isochron keine Datensicherheit gewährleistet, aber die garantierte Bandbreite wäre ein Vorteil.
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.