Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Suche ein möglichst günstiges USB-Interface (https://www.delphipraxis.net/88307-suche-ein-moeglichst-guenstiges-usb-interface.html)

Neuni 13. Mär 2007 14:53


Suche ein möglichst günstiges USB-Interface
 
Hi,

ich möchte für ein kleines Projekt ein Signal an meinen PC senden. Einfach nur ob die Verbindung zwischen 2 Pins vorhanden ist, oder nicht.
Über LPT/COM ist das ja alles ganz einfach. Dummerweise haben die neueren PC's zunehmend keine LTP-/Com-Ports mehr (Mac's sowieso nicht), sodass ich wohl oder übel auf USB ausweichen muss.

Nun bieten sich ja sachen wie der IO-Warrior an, allerdings sind die für meinen Zweck a) viel zu teuer, und b) viel zu überladen, da ich ja grade mal 1/40 der Funktionen nutzen würde. Dafür will ich mir dann nicht sowas teures anschaffen.

Gibts da nicht eine günstigere Alternative mein (recht einfaches) Problem zu lösen?

Robert Marquardt 13. Mär 2007 15:27

Re: Suche ein möglichst günstiges USB-Interface
 
Nicht wirklich. Die Kosten skalieren nicht weiter nach unten, da ein Microcontroller Mindestvoraussetzung ist.
Ein einfacheres Geraet ist nicht flexibel genug um verkaufbar zu sein.
Die Preiskalkulation eines IOWarrior-Starterkits wird vom Umfang der Funktionalitaet ueberhaupt nicht beeinflusst.

DGL-luke 13. Mär 2007 15:40

Re: Suche ein möglichst günstiges USB-Interface
 
Hallo,

es gibt USB-to-Serial bzw. USB-to-LPT Adapter, die dir einen virtuellen Com-Port/Druckerport erzeugen.

Neuni 13. Mär 2007 15:46

Re: Suche ein möglichst günstiges USB-Interface
 
Hm gut...hatte ich mir schon fast gedacht.

Dann sollte die USB<->COM - Variante ja die günstigste für mich sein. Das bekommt man ja um die 10€ rum schon.

Danke erstmal :)

Muetze1 13. Mär 2007 20:45

Re: Suche ein möglichst günstiges USB-Interface
 
Dabei aber beachten, dass direkte Portzugriffe sowie Pins direkt einlesen/setzen nicht möglich ist. Die USB-To-XXX Adapter binden die Ports auf logischer Ebene ein und somit stehen dir nur die entsprechenden WinAPI Funktionen für die Geräteklasse zur Verfügung. Also irgendwelche Quellcodes mit eine io.dll, dlportio, etc werden damit nicht laufen.

negaH 13. Mär 2007 20:54

Re: Suche ein möglichst günstiges USB-Interface
 
Das ist auch nicht nötig wenn der USB->Seriell Adapter alle Steuerleitungen benutzt, also nicht nur die Datenleitungen Tx und Rx sonder auch CTX/CTS usw. Diese kann man übers API auch einzeln steuern/einlesen. Das sollte für seine Zwecke reichen. Rein theoretisch köntest du sogar Rx über deinen Schalter mit Tx verbinden. Sendest du übers COM eine 1 als Daten so müsstest du auch eine 1 empfangen, wenn der Schalter geschlossen ist.

So gesehen reicht ein 1 Euro Handy Datenkabel in der Bucht gekauft.

Gruß Hagen

Neuni 14. Mär 2007 20:52

Re: Suche ein möglichst günstiges USB-Interface
 
Hat jemand zufällig eine gute Seite wo beschrieben wird wie man an Tx Spannung anlegt und mit Rx einließt?

oldmax 15. Mär 2007 05:49

Re: Suche ein möglichst günstiges USB-Interface
 
Hi
Also, bevor du irgendeine Spannung an den PC legst, abgesehen vom Netzstecker in die vorgesehene Steckdose, überprüfe, ob du den Rechner und die darin enthaltenen Daten noch benötigst. Also Tx heißt TransmitData, das bedeutet, es werden Impulse ausgegeben. Daher bitte nicht irgendeine Spannung dranbasteln.....
Rx ist der Draht, der die Impulse eines anderen Rechners (Tx Fremdgerät) empfängt und damit die Pegel einen Stromkreis bilden können, sind die 0-Potentiale (Gnd) verbunden. Man kann nun Tx des eigenen Rechners mit Rx des eigenen Rechners verbinden, das war gemeint, denn dann werden die Impulse des eigenen Rechners eben Empfangen. Wenn nun ein Schalter in diese Leitung eingebaut wird, kann man diese Impulsfolge unterbrechen und der Vergleich gesendete Daten = Empfangene Daten ergibt "False" und ist somit auswertbar. Also laß fremde Stromquellen vonne Schnittstellen weg, wenn du nicht weißt, wie man's richtig macht....... es kostet, und zwar in der Regel mehr wie die hier schon so oft erwähnten Experimentierplatinen. Es steht zu COM, LPT und USB schon jede Menge Info im Forum
Gruß oldmax

Neuni 15. Mär 2007 16:51

Re: Suche ein möglichst günstiges USB-Interface
 
Äbm...ich wollte ja auch nie eine externe Stromquelle ins Spiel bringen. Dass das nach hinten los geht ist mir schon klar. Wenn dann wollte ich als Quelle den COM-Port nutzen. Nix anderes. Um zu testen ob die Leitung unterbrochen ist wäre es ja auch äußerst unpraktisch erst noch eine externe Stromquelle zu nutzen. (Mal ganz abgesehen von den bereits erwähnten Risiken)

negaH 17. Mär 2007 10:50

Re: Suche ein möglichst günstiges USB-Interface
 
Also mal langsam ;)

Warum gibts überhaupt den RS232 Standard ?

Um Daten korrekt über laaaange Leitungen zu senden und zu empfangen. Also über die Leitungen Rx und Tx sollen Daten fließen. Wenn du nun einfach RX und Tx am Ausgang per Schalter verbindest dann gibt es beim Senden vom PC aus zwei mögliche Zuständen

1.) Schalter ist geöffnet, PC sendet irgendwas über sein Tx raus empfängt über sein Rx aber rein garnichts
2.) Schalter ist geschlossen, das was der PC sendet empfängt er selber wieder

Der Spannungspegel an Rx/Tx ist mit maximal +-12 Volt definiert dürfte aber meisten um die +-10Volt betragen. Strom kannst du maximal ca. 10mA aus diesen Leitungen ziehen. Da du ja nur einen simplen Schalter verwenden möchtest musst du hierbei nichts beachten. Einfach Schalter an Rx und Tx anschließen und fertig. Da der RS232 Standard für lange Datenleitungen spezifiert wurde ist das also idel für deine Ein-Schalterlösung.

Du könntest auch zb. den Schalter an RS232-Masse nach CTS->Clear To Send legen. Auf PC seite initierst du eine RS232 Kommunikation mit Hardware Handshake und wartest asynchon per Events einfach darauf das der Client also dein Schalter das CTS Signal sendet. Damit ersparrst du dir das Senden und Selberempfangen von Daten über die RS232. Es kann aber nun sein das

1.) der USB-Seriell Treiber kein HW-Handshake unterstützt oder nur unvollständig
2.) dein USB-Seriell Adapter ebenfalls kein HW-Handshake unterstützt

in beiden Fällen sind quasi die nötigen Leitungen für die HW-Handshake Signale -> RTS,CTS usw. nicht vorhanden.
Ideal wäre über CTS/RTS zu arbeiten und mit RX/TX geht es garantiert.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 Uhr.
Seite 1 von 2  1 2      

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