Guten Morgen, ich bin gerade dabei eine USB Verbindung zwischen einem Mikrocontroller und dem PC herzustellen. Der Mikrocontroller besitzt intern einen USB Controller. Nun, wie kann ich auf der Windowsseite auf diesen USB Port zugreifen? Gibt es unter Microsoft Visual Studio C++ 6.0 eine Möglichkeit den USB Port anzusprechen? Geht dies vielleicht mit "CreateFile" zum öffnen der Schnittstelle? Besten Dank im voraus.
Es ist ein 32bit Microcontroller von der Firma NEC. Typ: μPD70F3783
USB ist keine Schnittstelle, mit der auf diese Art und Weise kommuniziert wird. Nicht ohne Grund steht da ein "B" im Namen, was für Bus steht, also die Möglichkeit, mehrere Geräte anzuschließen. Wie auch beim PCI-Bus. Und also muss Dein Programm nicht mit der USB-Schnittstelle, sondern einem am USB angeschlossenen Gerät kommunizieren. Das geht auf zwei Arten und Weisen: Die Firmware Deines Gerätes implementiert eine USB-Standard-Geräteklasse wie HID oder CDC, und Dein Programm nutzt die vom Betriebssystem vorgesehene Unterstützung von Geräten dieser Geräteklassen, oder Dein Gerät verwendet ein eigenes Protokoll, für das Du einen Devicetreiber als Gegenstück entwickelst, damit Dein Betriebssystem und schlussendlich Dein Programm etwas mit Deinem Gerät anfangen können. Letzteres ist auch ohne Devicetreiberentwicklung über eine Library namens libusb möglich, was die Komplexität des Unterfangens etwas reduziert. Deutlich sinnvoller aber ist die Nutzung einer der Standardgeräteklassen; welche zu verwenden ist, hängt davon ab, was Dein Gerät machen soll und welcher Art die zu übertragenen Daten sind.
Danke für deine Antwort. Ich denke die erste Variante trifft bei mir zu, denn ich hab im Datenblatt was von CDC Kommunikation gelesen.
Rufus t. Firefly schrieb: > USB ist keine Schnittstelle, mit der auf diese Art und Weise > kommuniziert wird. Nicht ohne Grund steht da ein "B" im Namen, was für > Bus steht, also die Möglichkeit, mehrere Geräte anzuschließen. Wie auch > beim PCI-Bus. > > Und also muss Dein Programm nicht mit der USB-Schnittstelle, sondern > einem am USB angeschlossenen Gerät kommunizieren. Das geht auf zwei > Arten und Weisen: Die Firmware Deines Gerätes implementiert eine > USB-Standard-Geräteklasse wie HID oder CDC, und Dein Programm nutzt die > vom Betriebssystem vorgesehene Unterstützung von Geräten dieser > Geräteklassen, oder Dein Gerät verwendet ein eigenes Protokoll, für das > Du einen Devicetreiber als Gegenstück entwickelst, damit Dein > Betriebssystem und schlussendlich Dein Programm etwas mit Deinem Gerät > anfangen können. > > Letzteres ist auch ohne Devicetreiberentwicklung über eine Library > namens libusb möglich, was die Komplexität des Unterfangens etwas > reduziert. Oder man nutzt WinUSB http://msdn.microsoft.com/en-us/library/aa476426.aspx http://www.microsoft.com/whdc/connect/usb/winusb_howto.mspx http://www.lvr.com/winusb.htm
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.