COMPORT Problem



  • hallo...

    ich habe ein kleines problem, ich habe eine Dialoganwendung mit dir ich daten von der Seriellen Schnittstelle (Com1) einlese.

    Wenn ich die Funktion Daten einlesen Aufrufe dann steht die anwendung bis sie dann auch daten bekommen hat.

    wie kann ich erreichen das mein Programm weiter funzt auch wenn ich auf Daten von der Schnitsttelle warte?

    Dank vorab Uwe





  • Threads.



  • Hallo...

    Danke...! Uwe



  • Hallo...

    habe das problem unterschäzt...

    wie bekomme ich den Thread und das einlesen zusammen?
    Hier mal der source.

    Meine Frage,

    Wie bekomme ich es hin, das wenn ich den onbutten1 drücke die schnitstelle eingelesen wird und der Thread dazu gestartet wird?

    // DAS IST MEIN MyThread 
    
     UINT MyThreadProc (LPVOID pParam)
    
        {
                OnButton1()* pOnButton1() = (OnButton1()* ) pParam;
    
                if (pCRead_Key_1Dlg == NULL || 
                    !pCRead_Key_1Dlg->IsKindOf(RUNTIME_CLASS (CRead_Key_1Dlg)))
                    return 1;
                    return 0;
    
      } 
     // FUNKTION ZUM EINLESEN DER COM1 
    void CRead_Key_1Dlg::OnButton1() 
    {
    
    HANDLE hCom;
    
        hCom =  CreateFile ("COM1",GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
    
        if (hCom == INVALID_HANDLE_VALUE)
        {
    
        MessageBox ("Das war nichts");
    
        return;
        }
    
    DCB dcbCommPort;
    
       dcbCommPort.DCBlength = sizeof(DCB);
       GetCommState(hCom, &dcbCommPort);
       BuildCommDCB("9600,N,8,1", &dcbCommPort);
       SetCommState(hCom, &dcbCommPort);
    
        char lpByte [40];
    
        DWORD len = 50; 
    
        DWORD dwBytesRecive;
    
        ReadFile(hCom, lpByte, len, &dwBytesRecive, NULL);
    
        CloseHandle (hCom);
    
            m_Ausgabe = lpByte;
    
        UpdateData(FALSE);
    
    }
    

    Dank vorab... uwe



  • Original erstellt von Unix-Tom:
    Threads.

    es geht auch ohne 😉

    man muß nur die port-parameter richtig einstellen


Anmelden zum Antworten