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 Event

    Dieses 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 mynonA

    kleines prob beseitigt

    [ Dieser Beitrag wurde am 21.03.2002 um 16:15 Uhr von mynonA editiert. ]




Anmelden zum Antworten