Wie kann ich den USB-Eingang überprüfen?

8

Ich habe folgenden Draht wie unten gezeigt, ein Ende hat einen USB-Stecker und das andere Ende hat vier Drähte. Ich weiß, wenn es an einen Laptop angeschlossen ist, fungiert das ROTE als Spannungsquelle und SCHWARZ als Masse. Wenn ich GRÜN und GELB eine 2-Bit-Dateneingabe gebe, gibt es dann eine Software oder API für (Python, C oder eine andere Sprache), die den Status dieser beiden Drähte kennt? Ich will prüfen, ob GRÜN oder GELB eine Spannung hat oder nicht.

Geben Sie hier die Bildbeschreibung ein

Bitte leiten Sie mich, wenn ich die falsche Frage stelle.

Divanshu
quelle

Antworten:

12

Nein, Sie können den USB-Kabelstatus nicht direkt erfassen. USB ist eine viel komplexere Schnittstelle als diese, es ist kein Vergleich zu den alten seriellen und parallelen Ports, die für direkte E / A mit einem einfachen Treiberprogramm verwendet werden könnten. Ein komplexer Handshake wird mit dem PC ausgetauscht, noch bevor das erste Byte "realer" Daten / Nutzdaten gesendet werden kann.

Vielleicht hat Ihr PC einen parallelen Anschluss, der verwendet werden kann? Oder Sie sollten einen USB-GPIO-Konverter verwenden, der allgemein zu unterschiedlichen Preisen erhältlich ist (sowohl extrem hoch als auch extrem niedrig).

Jippie
quelle
1
Beispiel: sparkfun.com/products/718 Ich habe keine Erfahrung mit diesem Modul, aber es sieht nach dem Job aus. Es gibt viele ähnliche Alternativen, wenn Sie sich ein wenig umschauen.
Jippie
1
Nur eine kleine Ergänzung: Sie können einen USB-Anschluss wie diesen nicht missbrauchen, da der Handshake auf einer viel niedrigeren Ebene stattfindet als mit normalen Programmiersprachen. Teile des Handshakes finden in der Hardware statt.
Alexander
1

Was ist dein ultimatives Ziel? Wenn Sie das USB-Protokoll einhalten möchten, können Sie einen relativ kostengünstigen oder relativ teuren Logikanalysator verwenden.

Wenn Sie Bytes auf Ihrem Computer erfassen möchten, können Sie einen USB-Debugger für Ihr Betriebssystem erwerben (z. B. verfügt OS X über ein kostenloses USB-Debug-Kit).

Wenn es Ihr Ziel ist, auf einfache Weise festzustellen, ob Sie eine Spannung an einen Eingang anlegen, ist es besser, einen USB -> GPIO zu verwenden, wie Jippie vorgeschlagen hat, oder Sie könnten den (teureren) Arduino-Weg gehen und haben viel Raum zum Wachsen, wenn Sie vor der Analyse auf dem Computer mehr mit den Eingaben tun möchten.

Wenn Sie wirklich eine supereinfache Möglichkeit suchen , einen Spannungswert in Ihren Computer zu übertragen, ohne neue Hardware zu kaufen, ist der Vorschlag von jippie, den parallelen Anschluss zu verwenden , gut , und Sie können auch die Verwendung Ihres Mikrofoneingangs als von Jerry gebaute Lösung untersuchen.

Chris Gregg
quelle