Serielle Schnittstelle - Die Serielle Schnittstelle mit MSVC!
-
Da häufig Fragen zu der Seriellen Schnittstelle aufkommen, habe ich mir die mühe gemacht etwas darüber zu schreiben!
es gibt dazu auch ein Standard mäßig installiertes Aktiv X Element:
Das MS-Comm-Control
Man stellt den Com Port mit „SetCommPort(short nNewValue);“ ein.
Danach kann man den Port ganz einfach mit SetPortOpen(BOOL bNewValue ) öffnen.Um die Stromleitungen zu setzten schreibe:
Bei RTS SetRTSEnable(BOOL bNewValue);
Bei DTR SetDTREnable(BOOL bNewValue);Um die einzelnen Stromleitungen abzufragen (0/1) gibt es nur 1 Event:
Dass OnCommMsComm1 EventDieses Event reagiert auf Veränderungen der Leitungen,Datenempfang,etc
Dazu schreibe ich hier mal ein klein wenig Code:
void CMscomm1Dlg::OnOnCommMscomm1( ) { UpdateData (TRUE) ; switch(m_comm.GetCommEvent()) { case 3 : if ( m_comm.GetCTSHolding( ) ) { m_ctscounter++; } case 5 : if ( m_comm.GetCDHolding( )) { m_CD counter++; } UpdateData (FALSE) ; } }
Die von Microsoft für die Arbeit mit Active-X-Elementen definierte Variante COleVariant kann verschiedene Typen annehmen. Für das MS-Comm-Control wichtig ist die Eigenschaft bstrVal die zur übergabe von Strings dient:
COleVariant in , out ; CString intext ; out = "Ausgabestring " ; m_comm.SetOutput(out) ; in = m_comm.GetInput( ) ; intext = in.bstrVal;
http://www.mynonA.de.vu
2002 by mynonAkleines prob beseitigt
[ Dieser Beitrag wurde am 21.03.2002 um 16:15 Uhr von mynonA editiert. ]
-
Noch mehr Links zum Thema gibt es da: http://www.c-plusplus.net/forum/viewtopic-var-t-is-135220.html