Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi USB-Anschluss Steuern (https://www.delphipraxis.net/122947-usb-anschluss-steuern.html)

Mariaki 24. Okt 2008 17:48


USB-Anschluss Steuern
 
Hi,
ich möchte mir ein USB-Gerät, um genau zu sein einen kleinen Roboter, selbst bauen und dazu dann ein Programm entwerfen mit dem man dann den Roboter steuern kann. In diesem Beitrag möchte ich jetzt nicht auf die Hardware eingehen.

- Ich möchte wissen wie ich den USB-Anschluss steuern kann. D.h. mit welchem Befehl ich die einzelnen kontakte mit Strom durch fließen lassen kann.

- Muss ich mir dafür einen dafür einen Treiber machen und wenn ja wie?
- Wenn ich einen bestehenden Treiber benutzen muss, wie greife ich auf ihn zu?

- Oder gibt es direkte Befehle in Delphi die ich benutzen kann?

Soweit ich weiß besitzt ein USB-Anschluss 4 Anschlüsse:
- 2(+&-) für eine Standhafte Stromversorgung die man nicht steuern kann und
- 2(wieder +&-) für die Datenübertragung die man steuern kann.

Ich möchte die zweiten Beiden benutzen, weil man die halt steuern kann.

Ich habe noch keinen Ansatz und kann daher auch keinen Quelltext angeben.

Ich habe schon in verschiedensten Foren (natürlich auch hier) gesucht habe aber nichts gefunden.
Vielleicht liegt es auch an mir, aber ich bitte um eine hoffentlich passende Antwort.

Dunkel 24. Okt 2008 18:01

Re: USB-Anschluss Steuern
 
Hallo und willkommen im Forum!

Du hast eine etwas falsche Vorstellung von USB, von seriellen Bussen, vom Ansprechen von Hardware und dem Entwickeln von Treibern.

Es ist nicht mal eben möglich "die zweiten Beiden" (die zwei Datenübertragungsleitungen vom USB) anzusteuern! Erstens ist das unter NT ff. nicht möglich, ohne einen Treiber zu programmieren. Zweitens ist das ein Bus, nicht vergleichbar mit z.B. dem LPT-Port, wo man wirklich die einzelnen Pins zur Ein-/Ausgabe von Daten benutzen kann.
Treiberprogrammierung ist mit Delphi (virtually) nicht möglich, das DDK existiert nur für C(++). Ausserdem kann man Treiberprogrammierung nicht ohne weiteres mit der "normalen" Programmierung im Userspace vergleichen, es ist erheblich aufwendiger!

Schau mal in die einschlägigen Hardware-Shops, dort gibt es jede Menge USB-Entwickler-Platinen, welche die Ein-/Ausgabe von Daten managen. Diese bringen auch einen eigenen Treiber mit, wenn Du glück hast sogar mit einer entsprechenden Unit für Delphi.

BullsEye 24. Okt 2008 18:03

Re: USB-Anschluss Steuern
 
Zum Thema Treiber und Delphi:

http://garrel.ga.funpic.de/Anderes/H...el/grenzen.php

Phoenix 24. Okt 2008 18:09

Re: USB-Anschluss Steuern
 
Kurzum: Das geht nicht.

Das Betriebssystem steuert mittels eines Treibers nicht den USB-Anschluss direkt an, so wie das damals bei den Seriellen (oder auch parallelen) Schnittstellen der Fall war. Das Betriebssystem spricht heutzutage mit einem sogenannten USB-Host-Controller. Das ist ein Chip, der sich um die Ansteuerung der einzelnen Geräte am US-Bus kümmert und dafür sorgt, dass die Daten die der Treiber liefert auch am richtigen Gerät ankommen.

Die Steuerung der beiden Datensignale auf dem Bus wird aber ausschliesslich vom Chip gesteuert, darauf hat man keinerlei Einfluss.

Dunkel's Hinweis hilft da schon eher.
Für ca. 5 - 10 Euro bekommst Du einen Adapter, der einen Seriellen Port am USB zur Verfügung stellt.
Hier sind einige gelistet: http://www.preisroboter.de/ergebnis368654.html

Mittels Komponenten, z.B. TComPort, kannst Du dann an dieser seriellen Schnittstelle etliche Pins selber ansteuern und dort Spannungen anlegen. Einen Einstieg liefert Dir z.B. diese Seite hier:
http://www.hsg-kl.de/faecher/inf/msr...owo04/TCPD.php

Das dürfte Dir bei Deiner was-auch-immer Ansteuerung sicher besser helfen ;-)

Edit Nachtrag: Wenn Dein Roboter ein 'USB-Gerät' sein soll, dann kannst Du den USB->Seriell Adapter ja in den Roboter einbauen, und das was rausguckt ist ein USB-Verlängerungskabel. Merkt keiner ;-)

Mariaki 24. Okt 2008 19:13

Re: USB-Anschluss Steuern
 
Ok.. Danke. Das erklärt wahrscheinlich auch, warum ich sonst nichts gefunden habe. Ich bin noch vollkommener Anfänger. Ich habe jetzt auch schon solche Platinen gefunden, die es schon für um die 30€ bis 40€ sogar noch einfacher machen als ich dachte. Da hat man nicht nur einen, sogar über 8 Anschlüsse über einen USB Anschluss.
Also.. ich bedanke mich sehr für die Tipps mit den Platinen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz