1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
// demande de notification a placer dans le constructeur du Thread par exemple
FT_HANDLE ftHandle; // handle of an open deviceFT_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);
/////////////////////////////////////////////////////////////////////////////
// code Execute de ta classe TThread
while (!Terminated) {
WaitForSingleObject(hEvent,INFINITE);
DWORD EventDWord;
DWORD RxBytes;
DWORD TxBytes;
FT_GetStatus(ftHandle,&RxBytes,&TxBytes,&EventDWord);
if (RxBytes > 0)
{ // call FT_Read() to get received data from device }
FT_Read(ftHandle, &RxData, 1, &BytesReturned);
Synchronize(ProcessRxData);
}
} |