Daten der Schnittstelle auswerten

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    Daten der Schnittstelle auswerten

    Hallo,

    ich benutzte eine Schnittstelle, um Daten zu empfangen. Die Daten kommen unregelmäßig, d.h. ich brauche eine Funktion, die beim Eingang der Daten ausgelöst wird (Daten auswerten). Für das Ganze gibt es einen Beispielcode in C:

    FT_HANDLE ftHandle; // handle of an open device
    FT_STATUS ftStatus;
    HANDLE hEvent;
    DWORD EventMask;
    hEvent = CreateEvent(NULL,false, // auto-reset event false, // non-signalled state"");
    EventMask = FT_EVENT_RXCHAR | FT_EVENT_MODEM_STATUS;
    ftStatus = FT_SetEventNotification(ftHandle,EventMask,hEvent);

    WaitForSingleObject(hEvent,INFINITE);
    DWORD EventDWord;
    DWORD RxBytes;
    DWORD TxBytes;
    FT_GetStatus(ftHandle,&RxBytes,&TxBytes,&EventDWord);
    if (EventDWord & FT_EVENT_MODEM_STATUS) {
    // modem status event detected, so get current modem status
    FT_GetModemStatus(ftHandle,&Status);
    if (Status & 0x00000010) {
    // CTS is high
    }
    else {
    // CTS is low
    }
    if (Status & 0x00000020) {
    // DSR is high
    }
    else {
    // DSR is low
    }
    }
    if (RxBytes > 0) {
    // call FT_Read() to get received data from device

    Hab Probleme das Ganze in VB zu übersetzen. Wie kann ich in VB eine Funktion auslösen, wenn das Event (hevent) auftritt. Das Programm soll normal laufen, d.h. auch andere Aufgaben abarbeiten, wenn jedoch von der Schnittstelle das Event ausgelöst wird, mit der Auswertung der Daten beginnen/den normalen Programmablauf unterbrechen. Ggf. gibt es in VB eine Funktion ähnlich WaitforSingleObject, die im Hintergrund überprüft, ob das Event stattfindet?

    Kann mir jemand helfen?

    mfg Exel
    Hi!

    WaitForSingleObject ist aus dem Windows API, -> auch in VB verwendbar.
    Ich sehe das Problem eher in allen anderen Gebieten. Du brauchst die Typen, Constanten und API-Deklarationen und ich weiß nicht, wie man an das alles am Besten ran kommt, wenn man keine/zu wenig Ahnung von C/C++ hat. :(