как сделать основанное на событии чтение последовательного порта в c? - PullRequest
0 голосов
/ 01 июня 2010

Я хочу прочитать последовательный порт, когда есть некоторые данные, я имею в виду событие, когда данные поступают только тогда, я буду читать последовательный порт вместо того, чтобы непрерывно читать порт. У меня есть этот код для непрерывного чтения порта. Как я могу это сделать? на основе событий.

Спасибо заранее.

while(1)
{
   bReadRC = ReadFile(m_hCom, &byte, 6, &iBytesRead, NULL);
   printf("Data Recieved Through Serial port and no. of Bytes Recieved is    %d",iBytesRead);
 }

Ответы [ 2 ]

4 голосов
/ 01 июня 2010

В соответствии с MSDN вы можете использовать операцию WaitCommEvent() на дескрипторе последовательного порта. Также эта статья дает хорошее введение в тему.

0 голосов
/ 01 июня 2010

Это похоже на WinAPI, и я не совсем эксперт в этом, но вы должны установить порт режим блокировки .Это приведет к блокировке вызова чтения (ожидание в этой строке) до тех пор, пока не станут доступны данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...