今天下了个串口程序, 自己修改了下, 既然别人都开源, 那我也遵守这个协议
![](http://www.cublog.cn/images/face/001.gif)
这个程序的功能是配置串口, 然后接受数据, 接受数据是在另外一个线程, 通过阻塞的方式接收,如果发送方没有数据, 那个这个线程就一直等到有接收event到来, 然后将接受到的数据保存在文件中RCV.txt.
下面是接收线程:
![](/fileicon/rar.gif) |
文件: | COMWR.rar |
大小: | 3471KB |
下载: | 下载 |
|
void ThreadProc(void *pParam)
{
OutputDebugPrintf("============================\n");
DWORD commModemStatus;
DWORD bytesTransferred;
DWORD Written;
CComplDlg *pCDlg = static_cast<CComplDlg *>(pParam);
SetCommMask(pCDlg->hCom, EV_RXCHAR);
DWORD length = 0;
while(pCDlg->closeAction) {
WaitCommEvent(pCDlg->hCom, &commModemStatus, 0);
SetCommMask(pCDlg->hCom, EV_RXCHAR);
if(commModemStatus & EV_RXCHAR) {
DWORD i;
BYTE buff[4096];
do {
// Read the data from the serial port.
bytesTransferred = 0;
ReadFile (pCDlg->hCom, buff, sizeof(buff), &bytesTransferred, 0);
if(!bytesTransferred) {
break;
}
// Display the data read.
for(i=0;i<bytesTransferred;i++){
OutputDebugPrintf("%c", buff[i]);
}
WriteFile(pCDlg->hFile,buff,bytesTransferred,&Written,NULL);//D′èëÎļt
} while (1);
}
}
GetCommModemStatus (pCDlg->hCom, &commModemStatus);
}
|
阅读(1509) | 评论(0) | 转发(0) |