tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
3398
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    sucher sucher ist offline Rookie
    Registriert seit
    Jul 2004
    Beiträge
    5
    Ich benutze diese Klasse:
    http://www.codeguru.com/Cpp/I-N/netw...cle.php/c2503/

    Wieso funktioniert es nur bei der ersten if-Abfrage einer seriellen Schnittstelle anzuzeigen, wenn sie nicht da ist:.
    Com1 wird trotzdem als vorhanden angezeigt, auch wenn er abgeschaltet ist.
    Tausche ich die Reihenfolge der Abfragen um, so wird Com2, als vorhanden angezeigt, obwohl er deaktiviert ist.

    // Com-Ports überprüfen, ob sie sich öffnen lassen
    CSerial Serial;

    // Wenn Com2 verfügbar ist, dann anzeigen
    if( Serial.Open( 2, 19200)== TRUE ) GetDlgItem(IDC_COM2)->EnableWindow(TRUE);

    // Wenn Com2 nicht verfügbar ist, dann Com1 auswählen und Text ausgeben
    if( Serial.Open( 2, 19200)== FALSE )
    {
    m_text = "Com2 not available";
    m_radio_com = 0;
    }

    // Wenn Com1 verfügbar ist, dann anzeigen
    if( Serial.Open( 1, 19200)== TRUE ) GetDlgItem(IDC_COM1)->EnableWindow(TRUE);

    // Wenn Com1 nicht verfügbar ist, dann Com1 auswählen und Text ausgeben
    if( Serial.Open( 1, 19200)== FALSE )
    {
    m_text = "Com1 not available";
    m_radio_com = 1;
    }

    // Wenn beide Ports nicht funktionieren, Datei auswählen deaktivieren
    if( Serial.Open( 1, 19200) == FALSE && Serial.Open( 2, 19200) == FALSE) GetDlgItem(IDC_DATEI)->EnableWindow(FALSE);

    // Wenn beide Ports funktionieren, Com1 standardmässig auswählen
    if( Serial.Open( 1, 19200) == TRUE && Serial.Open( 2, 19200) == TRUE) m_radio_com = 0;
     

  2. #2
    FireFlow FireFlow ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Beiträge
    213
    Ich kenne die Klasse zwar nicht, aber vermutlich musst du den Com-Port auch wieder "schließen".

    Gruß
     
    --//--//--// My StillLife! //--//--//--
    Obere URL dient nur als Google-Push )

  3. #3
    sucher sucher ist offline Rookie
    Registriert seit
    Jul 2004
    Beiträge
    5
    Das ist aber irgendwie komisch, weil unten das wo ich überprüfe, ob beide Ports nicht gehen, funktioniert es.
     

  4. #4
    Registriert seit
    Apr 2002
    Ort
    Delmenhorst (Niedersachsen)
    Beiträge
    3.567
    moin


    Ich würde mal if( Serial.Open( 1, 19200)== FALSE ) und if( Serial.Open( 2, 19200)== FALSE ) durch else ersetzen.


    Zitat Zitat von http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c2503/
    Opening the serial port


    CSerial serial;
    if (serial.Open(2, 9600))
    AfxMessageBox("Port opened successfully");
    else
    AfxMessageBox("Failed to open port!");
    mfg
    umbrasaxum
     

  5. #5
    sucher sucher ist offline Rookie
    Registriert seit
    Jul 2004
    Beiträge
    5
    Das mit dem Com Port schließen hat, die Sache wesentlich verbessert.
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 14.04.10, 10:04
  2. Antworten: 9
    Letzter Beitrag: 27.12.08, 20:32
  3. Antworten: 4
    Letzter Beitrag: 17.01.08, 20:26
  4. Antworten: 6
    Letzter Beitrag: 07.08.06, 18:03
  5. Antworten: 4
    Letzter Beitrag: 28.08.05, 18:41