![]() |
RS232 Schnitstelle überwachen
Hi!
Ich habe einen Infrarotempfänger (RS232 Kabel) und eine Fernbedienung dazu. Leider ist die Software nicht Windows XP kompatibel, und eine neue Version ist ziemlich teuer. :arrow: Also selber entwickeln. :o Dank Goole habe ich mittlerweile viele möglichkeiten gefunden, die Daten an einer RS232(COM) Schnitstelle auszulesen, doch das alleine bringt mir nichts. Ich will die Daten erst bei einem Interrupt auslesen, da ich nicht konstant die Schnittstelle auslesen möchte (CPU belastung). Zu meinem Problem: Wie kann ich unter WinXP (Bzw. 2000) einen solchen Interrupt "abfangen"? Ich nehme an, das OS erlaubt dies nicht mehr direkt. Aber vielleicht löst sie eine Message aus, oder etwas in der Art. Kennt jemand eine Möglichkeit, oder hat einen guten Link für mich? Achja: Ich nutze Delphi 7 (Professional). Danke im Vorraus, Felmmer |
Re: RS232 Schnitstelle überwachen
Hallo Fellmer,
mit Interrupts habe ich zwar (mit Delphi) keine Erfahrungen, aber da Du die RS323 ja schon auslesen kannst, versuche es doch mit einem Thread der nur darauf wartet (in einer Schleife), dass Daten am Port ankommen. Dabei ist die CPU-Last minimalst. |
Re: RS232 Schnitstelle überwachen
Hi APP!
Du meinst mit "Thread der nur darauf wartet" einen Thread mit Low-Priority, der konstant den Port abfragt oder? Das habe ich bereits in erwägung gezogen, aber nur "als letzte" Möglichkeit. Ich befürchte, das bei hoher Systemauslastung oder bei einem Zufall ein Signal verloren geht. Trozdem, danke für den Tip! Es ist scheinbar schwierig diesen Interrupt abzufangen, ich habe noch nichts im Internet gefunden. |
Re: RS232 Schnitstelle überwachen
Hallo.
WaitCommEvent ist eine Api-Function die Ereignisse ausgibt die am Commort stattfinden. Es gibt die Message EV_RXCHAR wäre wohl das richtige für dich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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