Bonjour,
Je dois poller pour des lectures un port de communication dans un thread s�par�. Dans la fonction Execute() du thread, si je me contente de lire byte par byte le flux entrant, �a marche correctement.
En revanche, si je fais un test pr�liminaire pour savoir si des donn�es sont disponibles sur le port - comme le bon sens m'y invite - �a marche aussi mais le CPU est � 100%.
Voici un extrait du code:
Dans le code ci-dessus, le test pr�liminaire est mis en commentaires.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 void __fastcall USB_RX_THREAD::Execute() { DWORD BytesReturned, BytesSent, EventWord; while (!Terminated) { FT_GetStatus(ftHandle, &BytesReceived, &BytesSent, &EventWord); //if (BytesReceived) { FT_Read(ftHandle, &RxData, 1, &BytesReturned); Synchronize(ProcessRxData); //} }
Il y a sans doute qqch qui cloche dans mon code... Une id�e? Merci!
Partager