Ich habe bisher immer die TComPort Komponente verwendet. Zu finden z.B. hier: http://sourceforge.net/projects/comport/
Ist wesentlich einfacher als über CreateFile, da man die Events nutzen kann um zum Beispiel auf eingehende Daten zu reagieren.
Ich habe bisher immer die TComPort Komponente verwendet. Zu finden z.B. hier: http://sourceforge.net/projects/comport/
Ist wesentlich einfacher als über CreateFile, da man die Events nutzen kann um zum Beispiel auf eingehende Daten zu reagieren.
Gruß
Kevin
Hallo,
ich schließe mich da Kevin an, habe diese Komponente, allerdings mit Delphi 7, viele Jahre genutzt.
Und habe damit nie Probleme gehabt...
Gruß andré
Ich hab grad auf der Seite von arexx folgendes über das FlashTool (das wenn ich das richtig verstanden hab auch den Treiber für die virtuelle Schnittstelle beinhaltet) folgendes gefunden: Das neue ASURO Flash nutzt nicht mehr den VCP Treiber von FTDI, sondern die D2XX Version! Das bedeutet, dass Sie den USB IR Adapter nicht mehr wie einen normalen Comportanschluss benutzten können.
Könnte es daran liegen das das mit dem öffnen via createfile so gar nicht klappt?
vg malte
Wird den eine serielle Schnittstelle im Geräte-Manager angezeigt? Wenn ja muss diese eigentlich auch funktionieren. Wie gesagt, mit CreateFile würde ich mich nicht weiter beschäftigen, da die Komponente vieles einfacher macht.
Wenn aber keine Schnittstelle angezeigt wird, nehme ich an das man das ganze via USB anspricht. Wie das dann im Detail funktioniert kann ich leider nicht sagen. Ich habe bisher nur mit dem Microchip USB Framework gearbeitet und dort ist eine dll mit den Funktionen zum ansprechen der USB Schnittstelle enthalten.
edit: Ich hab grade gesehen das die TComPort erst ab Delphi 5 funktionieren soll. Von daher wird es mit dieser wahrscheinlich nicht klappen. Ich habe aber grad nochmal deinen Quelltext angeschaut.
Probier es mal so:
Die Anführungszeichen bewirken, dass nicht dein eingegebener Text als Name der Schnittstelle genommen wird, sondern eben der String Edit1.Text. Diese Schnittstelle existiert natürlich nicht.Code:procedure TForm1.ButOpenCOMClick(Sender: TObject); begin Port := CreateFile(PChar(Edit1.Text),GENERIC_WRITE,0,NIL,OPEN_EXISTING,0,0); end;
Geändert von hagbart06 (26.10.2012 um 18:47 Uhr)
Gruß
Kevin
Hallo,
@ hagbart: stimmt, danke, ist korrigiert.
Ich würde gerne ohne Komponente auskommen, auch weil das ganze ja eigentlich "nur" beim drücken verschiedener Tasten verschiedene chars senden soll.
Ich vermute es liegt wirklich am Treiber: Für den USB->SER Chip der auf dem IR-Transceiver gibts so wie ich das zurzeit überblicke 2 möglickeiten: VCP (Virt.COM Port) und d2xx (Zugriff USB über ein DLL [??] ) Bisher hatte ich lezteres. Wie werd ich den jetzt los und wo gibts den VCP? wenn ich die alten Treiber über den Gerätemanager deinstalle und den USB-IR-T neu anschließe holt er sich automatisch die alten wieder.
vg malte
Nachtrag: Alternativer Ansatz:
Kann ich mit Delphi so eine Art "virtuelle Eingabe" ins Hyperterminal machen. Also so tun als hätte man eine Tastaturtaste gedrückt? vg M.
Geändert von Artemis_Simetra (28.10.2012 um 12:03 Uhr)
Ich kann dir nicht mehr so ganz folgen. Ist jetzt eine serielle Schnittstelle (COM) vorhanden oder nicht? Die entsprechenden Treiber sollte der Hersteller eigentlich bereitstellen.
Kannst du via Hyperterminal Daten an den Receiver senden oder hat das mit deinem Problem nichts zutun. Weil wenns mit Hyperterminal funktioniert sollte es auch direkt aus Delphi funktionieren. Ich glaube nämlich nicht das es einfacher ist Tastatureingaben zu simulieren (habe leider keine Erfahrung mit dem Thema), anstatt die Daten direkt mit deinem Delphi Programm zu versenden.
Gruß
Kevin
Hyperterminal funktioniert ohne jedes Problem. Und im GeräteManager wird COM9 als USB-SeriellPort auch angezeigt.
Nur wenn er auf Delphi hören soll stellt er sich "taub".
vg malte
Lesezeichen