wxWidgets: Auf Empfangsevent der seriellen Schnittstelle reagieren



  • Hallo zusammen,
    ich schreibe hier an einer Anwednung, die Daten von der seriellen Schnittstelle einliest. Diese Daten kommen aber ansychron, nur alle paar Minuten mal was. Nun möchte ich gerne eine Funktion als Eventhandler installieren, die also nur dann aufgerufen wird wenn an der seriellen Schnittstelle was empfangen wurde. Ich habe sowas früher schon mal unter (oder mit) den MFC gemacht, da ging das ganz einfach:

    DECLARE_MESSAGE_MAP(CMyClass,CWnd)
              ON_WM_SERIAL(OnSerialMsg)
         END_MESSAGE_MAP()
    
         afx_msg LRESULT CMyClass::OnSerialMsg (WPARAM wParam, LPARAM lParam)
         {
             CSerial::EEvent eEvent = CSerial::EEvent(LOWORD(wParam));
             CSerial::EError eError = CSerial::EError(HIWORD(wParam));
    
             // lParam: User-defined 32-bit integer (type LPARAM)
             switch (eEvent)
             {
             case CSerialMFC::EEventRecv:
    
                 break;
             }
    
             // Return successful
             return 0;
         }
    }
    

    . Wie mache ich sowas unter wxWidgets ? Kann mir da jemand einen Hinweis geben ?


  • Mod

    wxWidgets unterstützt das nicht direkt, aber es gibt eine Library, wxCTB welche dies tut. Musst du dir einfach mal anschauen.

    Ansonsten wäre noch boost::asio eine Alternative.


Log in to reply