C++ 如何在c中读取基于事件的串口?

C++ 如何在c中读取基于事件的串口?,c++,c,windows,C++,C,Windows,我想在有数据存在时读取串口,我的意思是在事件上,只有数据到达时,我才会读取串口,而不是连续读取端口。我有一个连续读取端口的代码,如何使其基于事件 提前准备好 while(1) { bReadRC = ReadFile(m_hCom, &byte, 6, &iBytesRead, NULL); printf("Data Recieved Through Serial port and no. of Bytes Recieved is %d",iBytesRead)

我想在有数据存在时读取串口,我的意思是在事件上,只有数据到达时,我才会读取串口,而不是连续读取端口。我有一个连续读取端口的代码,如何使其基于事件

提前准备好

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

这看起来像WinAPI,我不是这方面的专家,但您应该能够将端口设置为阻塞模式。这将导致读取调用阻塞(在该行上等待),直到有可用数据。

这看起来像WinAPI,我不是这方面的专家,但您应该能够将端口设置为阻塞模式。这将导致读取调用阻塞(在该行上等待),直到有可用数据。

根据,您可以在串行端口句柄上使用
WaitCommEvent()
操作。 此外,还对本主题进行了很好的介绍。

根据,您可以在串行端口句柄上使用
WaitCommEvent()
操作。
另外,对本主题进行了很好的介绍。

为什么您发现用您正在使用的操作系统来标记您的问题如此困难?请使用标点符号!为什么你发现用你正在使用的操作系统来标记你的问题如此困难?请使用标点符号!