Transmisja danych przez COM: Czy wykorzystanie linii DSR do detekcji klawisza jest skuteczne?
COM i pewna koncepcja .... czy dobra
From: "Tomasz Bednarz" <tb_at_nospam_internet.pl>
Subject: COM i pewna koncepcja .... czy dobra
Date: Fri, 15 Sep 2000 23:47:39 +0200
W zasadzie nie wiadomo na jekiej grupie to umiescic ....
Rzucam wiec na elektronika i na delphi .....
____________________________________________________
Pojawil mi sie pewien problem ale zanim o nim to przedstawie sytuacje
Mam urzadzenie do ktorego z peceta wysylam dane
Port mam skonfigurowany przy uzyciu dcb.Flags:=12305; czyli
dane przesylam bez wykorzystania linni synchronizacji
czyli mam tylko linie transmisji i mase czyli uzywajac jezeyka
ustawien Windows mam Sterowanie Przeplywem ustawione jako brak.
Problem jaki sie pojawil to koniecznosc wysylania informacji
z urzadzenia do PC-ta o nacisnieciu jednego klawisza.
Aby nie programowac wysylania danych z 8251 urzadzenia do
COMa wykombinowalem ze przycisk mogl;by wymuszac
stan na ktorejs z linii sterujacych przeplywem np. na DSR
a w Delphi moglym przechwytywac zdarzenie zwiazane ze zmiana stanu linii
DSR.
Czy to jest mozliwe? Tzn czy w ramach jednego COMa bedzie dzialala
opisana transmisja PC>Urzadzenie i czy urzadzenie bedzie moglo wymuszajac
stan linni DSR komunikowac PCta o nacisnieciu na nim klawisza.
W danym momencie musi dzialac w programie alternatywa ze
albo uzytkownik nacisnie przycisk na urzadzeniu albo kliknie myszka czy
zatem
WaitCommEvent mam umiescic w osobnym watku i z niego wywolywac jakies
procedury po wykryciu nacisniecia klawisza ?
Tzn taki watek jak zauwazylby ze stan linni DSR sie zmienil to wywolywalby
funkcje DALEJ() a ta sama funkcje wywolywalby jakis BUTTON ?
Czy moja koncepcja jest ok ?
W sprawie COMOW polecam:
http://www.ep.com.pl/ftp/porty/page_32.html
Wedlug Jerzego Szczesciula (autora powyzszej stronki) koncepcja jest OK
Sprawdzanie stanu linii mozna dokonac za pomoca GetCommModemStatus w timerze
Co Wy na to ?
Dodatkowym problemem jest to czy dysponujac w urzadzeniu potencjalami:
MASA, +5V stabilizowane, +9V niestabilizowane bede mogl skutecznie wymuszac
stany.
Skuteczie czyli tak zeby program mogl reagowac na zmiany
Tomasz Bednarz
tb_at_nospam_internet.pl