![]() |
Probleme USB->Serial Converter
Hat irgendjemand eine Idee wie man die COM-Schnittstelle mit einem USB->Serial coverter ansteuern kann?
Bei einem "Normalen" COM-PORT hat der ja ne Adresse, aber wie mach ich das bei dem USB->Serial Converter? MFG Thomas |
Genauso!?
Der Converter stellt dir ein ganz normalen Comport zur Verfügung. Du steuerst den ganz normal an. Den rest(codierung für Usb) macht ja die Elektronik im Converter. Grüsse, Daniel :) |
Ja schon, aber wenn ich versuch den COM4 zu öffnen dann gibt er mir einen Fehler 1080 :(
Der Gerätemanager sagt der vituelle Com liegt auf COM4 Wenn ich den auf com2 leg und mein Prog. dann mit COM2 starte kommt der selbe Fehler (1080) MFG Thomas |
Da der USB-Serial Converter "nur" einen Treiber zur Verfügung stellt, kann auch nur über die Windows API und IOCTRL auf den virtuellen COM-Port zugegriffen werden. Ein direkter Hardwarezugriff über TurboPascal:Port[] ist nicht möglich, da das Gerät ja nicht wirklich existiert.
[edit] Wie öffnest bzw. greift du auf den COM-Port zu. [/edit] |
Wie mach ich den API zugriff denn?
|
Code:
Ich würde aber trotzdem gerne wissen, wie du das machst. Über eine Komponente, ... ?portname := '\\.\COM' + IntToStr(Integer(FPort)); FPortHandle := CreateFile(PChar(portname), // name of COM device to open GENERIC_READ or GENERIC_WRITE, // read-write access 0, nil, // not used OPEN_EXISTING, // required for tape devices 0, 0); // not used Denn eine Komponente kapselt normalerweise die API Aufrufe und greift auch nicht direkt auf die Ports zu. |
@jbg
Aber auch dieser virtuelle Port, hat ja im Gerätemanager eine Adresse. Wieso sollte er sie nicht ansprechen können? Nehmen wir mal eine ganz normale Kompo für Comports. Normalerweise machen sie ja auch nur diesen direkten HW-Zugriff. Ich kenn jetzt nciht alle, aber manche machen das so und manche warscheinlich anders. Was passiert nun, wenn man z.B. Com20 anspricht und da hängt so ein Converter dran? Grüsse, Daniel :) |
Ich hab die ELEKTOR genommen :D
Vielleicht kennt die ja jemand? Protinc.pas und port.dll |
wie ist denn:
Code:
deklariert?
portname
|
Bei uns an der Schule können wir die Software für unsere Roboter über einen USB-Serial-Converter mit Hilfe von CreateFile() und Co. ohne Probleme ansprechen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz