Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi USB Programmieren (https://www.delphipraxis.net/177901-usb-programmieren.html)

Baum21 4. Dez 2013 18:42

Delphi-Version: XE5

USB Programmieren
 
Hi Leute,
Ich hab mir vor kurzem "Lernpaket Experimente mit USB" von Franzis gekauft, darin sind viele Beispiele um z.B. eine an den USB angeschlossene LED blinken zu lassen, allerdings alle ins VB, wollte mal fragen ob ich das ganze auch in delphi machen kann? Wenn ja wie? :)
Kennt vielleicht jemand eine Seite bei der ich etwas in die Richtung finde?

lbccaleb 4. Dez 2013 18:46

AW: USB Programmieren
 
Du kannst den Quellcode nach Delphi übersetzen...

himitsu 4. Dez 2013 18:48

AW: USB Programmieren
 
Natürlich kann man das auch mit Delphi machen .... es kommt nur darauf an, wie die Hardware angesprochen wird.
- eigener Treiber (hier vermutlich nicht)
- Schnittstellen-DLL
- Standardtreiber vom Windows (HID, Virtual-COM-Port, ...)
- ...

Wie machst du das denn in VB?



Vermutlich wird das Ding wohl einen seriellen COM-Port aufmachen, über den man den Mikrocontroller auf dem USB-Stick ansprechen kann.

Der USB-Stick sieht aus wie eine Art Serial-USB-Konverter und auf dem anderen Board ist wohl ein kleiner Mikrocontroller?
http://www.pearl.de/a-PK4679-3521.sh...FYlV3godT2IApg

[edit]
Zitat:

Für eine direkte serielle Anbindung an Mikrocontroller
Zitat:

> http://www.elv.de/output/controller....FUZY3godnWsApA
Wo man früher noch mit der parallelen oder seriellen Schnittstelle des PCs die eigene Elektronik einfach steuern und regeln konnte, muss man sich heute zwangsweise mit USB auseinandersetzen. Der in diesem Lernpaket verwendete FTDI-USB-Baustein zeigt Ihnen, wie interessante USB-Steuerungen oder USB-Datenerfassungssysteme zum Teil auch ohne Mikrocontroller aufgebaut werden können. Das USB-Lernpaket startet mit einfachen LED-an-, LED-aus- und Ampelversuchen über USB.
*lach*
Mit USB auseinandersetzen, wo es am Ende doch wieder auf Seriell hinaus geht und man scheinbar nichts direkt mit USB zu tun hat. :wall:

Hast du schon den Punkt "USB-Dongle" behandelt? Worum geht es dabei denn?
Würde mich mal interessieren, ob das wenigstens mit USB zu tun hat oder ob es nicht nur danach klingt.

lbccaleb 4. Dez 2013 20:00

AW: USB Programmieren
 
Das USB Dingens sieht eigentlich ganz interessant aus, vllt. sollte ich mir das auch mal kaufen. Hätte mal Lust damit ein wenig rum zu experimentieren.

Edit:
Als ich damals 11 oder 12 war, hatte ich von meinem Vater den Kosmos 3000 bekommen. Da hab ich Stunden dran verbracht, und kannte mich zu der Zeit definitiv besser mit der Materie aus als Heute. Man vergisst doch einiges mit der Zeit :D

http://www.kosmos.de/produktdetail-1...c_xn_3000-282/

Baum21 4. Dez 2013 20:01

AW: USB Programmieren
 
uhm, ich hab eigentlich noch nie VB benutzt, bin auch eher noch ein Anfänger in Delphi :D
Der Treiber heißt "D2XX-Treiber".
Der FTDI-USB-Controller heißt "FT232R".

hathor 4. Dez 2013 20:51

AW: USB Programmieren
 
Delphi Examples

http://www.ftdichip.com/Support/Soft...les/Delphi.htm

Unit:
http://www.ftdichip.com/Support/Soft...i/D2XXUnit.zip

Hinweis

hathor 4. Dez 2013 21:03

AW: USB Programmieren
 
Zitat:

Zitat von himitsu (Beitrag 1238536)
Der USB-Stick sieht aus wie eine Art Serial-USB-Konverter und auf dem anderen Board ist wohl ein kleiner Mikrocontroller?
http://www.pearl.de/a-PK4679-3521.sh...FYlV3godT2IApg

Das geht auch billiger - weniger als 38 Euro.

OlafSt 4. Dez 2013 21:35

AW: USB Programmieren
 
Zwischen serieller Schnittstelle und USB gibt es aus Programmierersicht einen gewaltigen Unterschied: Bei Seriell "spricht" man mit der Schnittstelle - man muß Signale setzen und Überwachen, Bytes in die richtigen Ports schieben usw... Bei USB spricht man direkt mit dem Gerät, der USB-Treiber dazwischen ist völlig transparent.

Wenn es mit nem FTDI 232R (oder 245) läuft, wird da ein serieller Port emuliert. Da ist nix mit USB.

blackfin 4. Dez 2013 21:36

AW: USB Programmieren
 
Wenn der USB-Stick intern einen FT232 hat, kannst du ihn in Delphi mit jeder Seriell-Komponente ansprechen (oder sogar, wenn du es auf die "harte Tour" willst, eine eigene RS232-Komponente mit Windows- / Delphi-Boardmitteln schreiben :)).

Von FTDI gibt es für den FT232 einen generischen COM-Treiber, nach der Installation hast du einen neuen seriellen Port in deinem System, den du z.B. über Async Pro o.Ä. in Delphi ansprechen kannst.

Der Treiber von FTDI ist im übrigen, wie auch der Chip selbst, ziemlich gut.
Die FT232-basierten Adapter haben im Treiber viel mehr Einstellmöglichkeiten als die meisten billig-USB-zu-RS232-Adapter und der Chip hält sich an die USB- und RS232-Spezifikationen, was viele Adapter nicht tun.

Der bei dir verbaute FT232R hat übrigens noch zwei nette Features, die die anderen FT232-varianten nicht haben:
- Du kannst den Takt des internen Oszillators nach außen führen und damit externe Peripherie wie z.B. eine MCU takten, ohne dass sie selbst einen eigenen Quartzoszi braucht.
- Der Chip hat intern eine festgebrannte, nicht veränderbare ID / Seriennummer, die man auslesen kann, so dass du mit deiner Software einen Chip identifizieren und ihn z.B. als Hardware-Dongle nutzen kannst. Damit ist wohl auch das "USB-Dongle" Experiment aus dem Kasten realisiert. Allerdings geschieht das Auslesen der Chip-ID nicht über einen Befehl an die serielle Schnittstelle (wäre auch irgendwie sinnlos, da man es leicht emulieren könnte), sondern über eine eigene FTDI-DLL, deren Export Functions Header aber auch auf der FTDI-Seite als Delphi-Code vorliegt.

Mit USB-Programmierung an sich hat das Alles allerdings gar nichts zu tun, da man im Endeffekt mit der Software nur einen seriellen COM-Port mit RS232 oder RS485 ansteuert, sich um das komplizierte USB-Protokoll jedoch überhaupt nicht kümmert. (und folgedessen auch nichts über USB lernt)

So einen FT232-basierten Adapter kann man sich im übrigen auch ziemlich leicht selbst zusammenlöten, den Chip bekommst du bei jedem größeren Elektronik-Bauteilladen und als externe Peripherie brauchst du nur die beiden Buchsen, ein paar Widerstände und Kondensatoren.
Man muss nur aufpassen, dass man sich nicht die BGA-Variante kauft, denn die kann man dann doch schlecht daheim löten, ausser man hat ne alte Friteuse :)

P.S.
Zitat:

Als ich damals 11 oder 12 war, hatte ich von meinem Vater den Kosmos 3000 bekommen
Haaa, den hatte ich damals auch. Allerdings sah der Kosmos-Baukasten von mir irgendwie doch etwas anders aus damals, etwas größer, orange und mit einem transparenten Deckel wie manche Plattenspieler. Weisst du zufällig, was das für ein Modell war?
Das Teil fand ich damals faszinierend und ich hatte höllischen Respekt vor den großen Transistoren.
(von denen ich nun ja weiss, dass es Pfennigartikel sind, die im Kosmos nur auf riesige Leiterplatten gelötet wurden, damit man sie besser stecken kann :))
Der Phototransistor war auch ned schlecht... :)

Baum21 5. Dez 2013 16:40

AW: USB Programmieren
 
Wenn ich einen Transistor schalten wollen würde, wie mus ich den dann mit der Zusatzplatine verbinden und wie bekomme ich es hin das der Transistor nacher Strom bekommt? hab keinen Plan :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.
Seite 1 von 4  1 23     Letzte »    

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