用Win32 API实现串行通信

 //发信号,指示监视线程结束
 return 0;
}
关闭串行设备
        在整个应用程序结束或不再使用串行设备时,应将串行设备关闭,包括取消事
件监视,将设备打开标志bOpen置为FALSE以使事件监视线程结束,清除发送/接收缓冲
区和关闭设备句柄。
void CloseSynComm()
{  
if(!bOpen) return;
//结束事件监视线程
 bOpen=FALSE;  
 SetCommMask(hComDev,0);  
 //取消事件监视,此时监视线程中的WaitCommEvent将返回
 WaitForSingleObject(hEvent,INFINITE);
 //等待监视线程结束
 CloseHandle(hEvent); //关闭事件句柄
 //停止发送和接收数据,并清除发送和接收缓冲区
PurgeComm(hComDev,PURGE�TXABORT|
PURGE�RXABORT|PURGE�TXCLEAR|
PURGE�RXCLEAR);
//关闭设备句柄
 CloseHandle(hComDev);  
}
小 结
        以上给出了用Win32 API 设计串行通信的基本思路,对这个同步I/O操作的串
行通信程序稍加改造就可进行异步I/O操作。在实际应用中,我们可以将这些串行通信
函数和成员变量加到一个已有的CWnd类或其派生类中来实现串行通信,也可设计一个新
的串行通信类来包含这些成员函数和成员变量。总之,利用Win32 API可以设计出满足
各种需要的串行通信程序。
共2页 首页 上一页 [1] [2下一页 尾页>
字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z