![]() |
Direkter Portzugriff mit ZLPORTIO - Komisches Verhalten
Hallo!
Ich möchte direkt auf die serielle Schnittstelle (am DTR hängt eine LED zur Kontrolle) schreiben. Dazu nutze ich die ZLPORTIO. Wenn ich nun auf das COM2 Register ($2FC, DTR) schreiben will passiert nicht. Jetzt der Hammer: Wenn ich QBASIC starte und dort einen OUT (764), 1 mache, geht die LED aus und mein Delphiprogramm funktioniert (LED blinkt). Auch DLPORTIO funktionierte nicht, wenn QBASIC gestartet wurde geht es aber. Ist schon eine komische Sache. Könnte mich jemand aufklären, warum es mit gestartetem QBASIC funktioniert und was ich verändern muß, um ein "standalone" Programm zu erstellen? Hat es etwas mit dem SP2 zu tun? Konfiguration: Win XP SP2 Delphi 6 ZLPORTIO PS: Hatte das gleiche Phämomen mit einem W2K-Rechner mit SP4. Vielen Dank! Gruß Ruddel |
Re: Direkter Portzugriff mit ZLPORTIO - Komisches Verhalten
Du machst ja auch Unsinn.
Warum willst du die Ports direkt ansteuern? Fuer RS232 hat Windows doch Treiber. Man spricht eine serielle Schnittstelle daher mit CreateFile, ReadFile, WriteFile und DeviceIoControl an wie jeden anderen Treiber auch. Es gibt haufenweise Komponenten fuer die Ansteuerung von RS232. QBasic ist ein 16 Bit DOS Programm und erhaelt eine DOS Box, in der all die Ports virtualisiert sind. Da die Funktion im 32 Bit Windows Treiber liegt, wird dieser vermutlich in einen Kompatibilitaetsmodus geschaltet. |
Re: Direkter Portzugriff mit ZLPORTIO - Komisches Verhalten
Hallo Robert!
Danke für Deine schnelle Antwort! Ich denke nicht, dass ich einen direkt Portzugriff mit einer anderen Komponente als einen Treiber (wie IO.DLL, ZLPORTIO, DLPORTIO) machen kann, oder irre ich mich da? Hintergrund: Ich will über die COM-Schnittstelle bzw. einem Schieberegister Zustände einlesen (Bewegungsmelder) bzw. Relais schalten. Kann man das wirklich mit einer RS232 Komponente machen? Gruß Ruddel |
Re: Direkter Portzugriff mit ZLPORTIO - Komisches Verhalten
Ich persoenlich haenge nicht der direkten Schnittstellenkontrolle an.
Wo es ums Timing geht sollte man Windows ohne IO Hardware nicht verwenden. Es ist einfach nicht praezise genug. Eine IO-Karte ist da besser geeignet. Ich wuerde z. B. den IOWarrior benutzen ( ![]() Das liegt daran das ich die Delphi-Software dazu geschrieben habe. Es gibt besonders bei den IO-Karten aber sehr viele Alternativen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 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