亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? comthread.cpp

?? 上傳一個串口類,能夠直接應用
?? CPP
字號:
//---------------------------------------------------------------------------
//串口監控線程,用于接收字符
//作者:馮華亮
//最后修改日期:2002年5月
#include <vcl.h>
#pragma hdrstop

#include "ComThread.h"
#include "Com.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
//構造函數
__fastcall TComThread::TComThread(bool CreateSuspended,HANDLE AhComm,HWND AParent)
	: TThread(CreateSuspended)
{
	hComm=AhComm;
	Parent=AParent;
        //異步讀操作中用到的重疊結構中的事件
	ov_Read.hEvent=CreateEvent(NULL, true, false, NULL);

        FreeOnTerminate=true;
}
//---------------------------------------------------------------------------
//析構函數
__fastcall TComThread::~TComThread()
{
	//釋放對象,如果句柄有效,則關閉
	if(ov_Read.hEvent!=NULL)
	{
		CloseHandle(ov_Read.hEvent);
		ov_Read.hEvent=NULL;
	}
	if (hComm!=INVALID_HANDLE_VALUE)
	{
		CloseHandle(hComm);
		hComm=INVALID_HANDLE_VALUE;
	}
}
//---------------------------------------------------------------------------
//線程執行函數
void __fastcall TComThread::Execute()
{
	if(hComm==INVALID_HANDLE_VALUE) 	//串口句柄有效
	{
		Application->MessageBox("串口句柄無效,串口監控線程無法工作.","錯誤",MB_ICONSTOP);
		return;
	}
	//清空串口緩沖區,退出所有相關操作
	PurgeComm(hComm, PURGE_RXCLEAR|PURGE_TXCLEAR|
			PURGE_RXABORT|PURGE_TXABORT);

	COMSTAT ComStat;       	//串口狀態
	DWORD dwEvent,dwError,dwResult;
	//進入無限循環,直到線程被關閉
	while(!Terminated)
	{
		//調用WaitCommEvent().這一調用將立即返回,因為我用異步方式
		//(FILE_FLAG_OVERLAPPED)打開串口,并且指定重疊操作結構,
		//如果有一個字符到達串口,重疊結構中的事件將被置為有信號態
		bool bResult=WaitCommEvent(hComm,&dwEvent,&ov_Read);
		if (!bResult)
		{
			//如果WaitCommEvent()返回FALSE,調用GetLastError()判斷原因
                        dwError=GetLastError();
			switch (dwError)
			{
				case ERROR_IO_PENDING:      //重疊操作正在后臺進行
				{
					//如果串口這時無字符,這是正常返回值,繼續
					break;
				}
				case 87:
				{
					//在WIN NT下這是一個可能結果,但我沒有找到
					//它出現的原因,我什么也不做,繼續
					break;
				}
				default:
				{
					//所有其它錯誤代碼均顯示串口出錯,顯示出錯信息
					ProcessErrorMessage("等待串口事件");
					return;
				}
			}
		}
		else
		{
			//如果WaitCommEvent()返回true,檢查輸入緩沖區是否確實
			//有字節可讀,若沒有,則繼續下一循環
			//ClearCommError()將更新串口狀態結構并清除所有串口硬件錯誤
			ClearCommError(hComm,&dwError,&ComStat);
			if (ComStat.cbInQue==0)   //輸入緩沖隊列長為0,無字符
				continue;
		}

		//等待串口事件產生
		dwResult=WaitForSingleObject(ov_Read.hEvent,1000);
                if(dwResult==WAIT_OBJECT_0)	//事件產生
                {
				//獲取串口事件掩碼
				GetCommMask(hComm,&dwEvent);
				if (dwEvent & EV_RXCHAR)	//有一個字符
					    ReceiveAChar();	//接收一個字符

                }
	}                                           
}
//---------------------------------------------------------------------------
//接收一個字符
void __fastcall TComThread::ReceiveAChar()
{
	COMSTAT ComStat;
	DWORD dwError=0;
	bool bResult;
	DWORD BytesRead=0;
	unsigned char ucRxBuff;

	//開始無限循環,因為我不知到需要循環多少次.我的解決方法是開始一個無限循環,
	//當我已處理了所有的有效數據后才退出.使用這種方法應小心的保證您的程序能
	//正常退出循環.即便如此,我仍覺得這是最有效的解決辦法
	while(1)
	{
		//ClearCommError()將更新串口狀態結構并清除所有串口硬件錯誤
		ClearCommError(hComm,&dwError,&ComStat);
		if (ComStat.cbInQue==0)
		{
			//緩沖區中已無數據,退出循環
			break;
		}
		//讀串口
		bResult=ReadFile(hComm,	//串口句柄
				&ucRxBuff, 	//輸入緩沖區地址
				1,		//想讀入的字符數
				&BytesRead, 	//實際被讀入的字符數
				&ov_Read);	//重疊結構指針

		if(!bResult)	//讀串口失敗,調用GetLastError()判斷原因
		{
			switch (dwError=GetLastError())
			{
				case ERROR_IO_PENDING:	//重疊操作在后臺進行
				{
					BytesRead=0;
                                        //等待重疊操作結果
                                        bResult=GetOverlappedResult(hComm,	//串口句柄
                                                                &ov_Read, 	//重疊結構
                                                                &BytesRead, 	//實際讀入字符數
                                                                true); 		//等待直到串口操作超時
                                        if (!bResult)	//重疊操作失敗
                                        {
                                                ProcessErrorMessage("(讀串口時)獲取重疊操作結果");
                                                return;
                                        }
					break;
				}
				default:
				{
					//其它情況說明出錯
					ProcessErrorMessage("讀串口");
					return;
				}
			}
		}
		//將收到的字符當作消息的參數投遞到父窗口
		if(BytesRead!=1)	//沒有讀入要求的字符數
			continue;
		PostMessage(Parent,WM_COMM_RXCHAR,(WPARAM)ucRxBuff,NULL);
	}
}
//----------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线色| 亚洲欧美另类久久久精品| 五月婷婷欧美视频| 日韩区在线观看| 国产一区二区视频在线| 一区在线观看视频| 69p69国产精品| 一本大道久久a久久精二百| 婷婷综合另类小说色区| 国产欧美日韩另类一区| 欧美亚州韩日在线看免费版国语版| 亚洲精品免费在线| 日韩欧美第一区| 欧美中文字幕亚洲一区二区va在线 | 欧美日韩成人综合| 久久99精品国产91久久来源| 综合在线观看色| 精品日产卡一卡二卡麻豆| 欧美体内she精高潮| 黄色成人免费在线| 色女孩综合影院| 久久久噜噜噜久噜久久综合| 午夜久久久影院| 99久久综合国产精品| 欧美一级艳片视频免费观看| 亚洲一区二区三区美女| 色婷婷精品久久二区二区蜜臂av | 欧美性生活影院| 欧美精品视频www在线观看| 欧美国产精品专区| 一区二区三区在线观看网站| 亚洲天堂av老司机| 婷婷激情综合网| 国产一区二区免费在线| 91视频91自| 欧美日韩免费观看一区三区| 91精品在线一区二区| 欧美日韩亚洲综合一区| 日韩三级电影网址| 久久久777精品电影网影网 | 中文子幕无线码一区tr| 亚洲国产精品黑人久久久| 国产偷国产偷精品高清尤物| 国产精品私人影院| 中文字幕不卡的av| 日韩成人一级大片| 国产日本欧美一区二区| 蜜桃视频一区二区| 激情图片小说一区| 国产自产2019最新不卡| 成人妖精视频yjsp地址| 日韩欧美国产不卡| 日韩毛片精品高清免费| 成人av电影在线网| 欧美成人一区二区三区在线观看| 国产精品三级电影| 亚洲午夜一区二区| 精品亚洲欧美一区| 91精品国产入口| 亚洲国产另类av| 色久综合一二码| 亚洲综合久久av| 不卡欧美aaaaa| www.综合网.com| 欧美一区国产二区| 日韩欧美国产高清| 亚洲成av人片一区二区三区| 欧美日韩一级片网站| 国产午夜亚洲精品理论片色戒| 首页国产欧美日韩丝袜| 欧美人妇做爰xxxⅹ性高电影| 欧美另类高清zo欧美| 亚洲国产经典视频| 欧美色视频在线| 欧美吻胸吃奶大尺度电影| 成人精品视频一区二区三区| 国产在线麻豆精品观看| 日韩激情一区二区| 青青草一区二区三区| 亚洲综合视频在线| 亚洲天堂2016| 亚洲一区二区精品视频| 亚洲日本丝袜连裤袜办公室| 26uuu久久综合| 久久久久国产成人精品亚洲午夜| 日韩精品一区二区在线| 91福利在线播放| 天堂成人国产精品一区| 欧美精品一区二区在线观看| 国产成人免费视频| 亚洲一二三区不卡| 日韩免费观看高清完整版在线观看| 精品亚洲免费视频| 国产精品久久久久毛片软件| 精品成人a区在线观看| 欧美综合久久久| 成人福利视频在线| 狠狠色丁香久久婷婷综合_中| 亚洲精品视频免费观看| 精品久久久久久久久久久久包黑料 | 99久久99久久精品免费观看 | 日韩欧美一区二区不卡| 成人美女视频在线观看18| 色视频一区二区| 欧美日韩一区小说| 久久精品国产在热久久| 日韩精品一区二区三区视频在线观看 | 色网综合在线观看| 国产一区二区在线观看视频| 亚洲国产综合色| 午夜视频在线观看一区二区三区| 日韩精品一区二区三区swag| 欧美性欧美巨大黑白大战| 国产日产欧产精品推荐色| 一区二区在线观看av| 国产精品99久| 久久丝袜美腿综合| 亚洲第一成年网| av在线免费不卡| 国产精品久久久久久久久免费丝袜 | 色噜噜久久综合| 成人sese在线| caoporen国产精品视频| 成人免费黄色大片| 97se亚洲国产综合自在线观| 欧美日韩精品一区二区在线播放| 精品国产乱码久久久久久牛牛| 日韩一区二区不卡| 久久久777精品电影网影网 | 国产真实乱子伦精品视频| 国产一区二区在线影院| 国产一区二三区好的| 91农村精品一区二区在线| 欧美一卡2卡三卡4卡5免费| 久久中文字幕电影| 国产丝袜在线精品| 欧美国产成人精品| 最新久久zyz资源站| 日本欧美加勒比视频| 国产精品2024| 56国语精品自产拍在线观看| 麻豆精品一区二区av白丝在线| 欧美系列日韩一区| 精品国产乱码久久久久久老虎| 欧美精品在线观看播放| 日韩女同互慰一区二区| 亚洲女人****多毛耸耸8| 99久久婷婷国产精品综合| 在线不卡中文字幕播放| 亚洲欧洲成人自拍| 国产在线日韩欧美| 337p亚洲精品色噜噜噜| 国产亚洲污的网站| 亚洲国产精品久久不卡毛片| 麻豆精品视频在线| 欧美在线|欧美| 欧美一区二区三区白人| 国产精品看片你懂得| 麻豆成人av在线| 在线亚洲人成电影网站色www| 色婷婷狠狠综合| 日本一二三不卡| 国内一区二区视频| 99精品视频在线播放观看| 国产日韩综合av| 欧美影视一区二区三区| 亚欧色一区w666天堂| 日韩免费高清av| 国产成人av电影在线| 亚洲精品高清在线| 亚洲裸体在线观看| 91国在线观看| av午夜一区麻豆| 成人黄色av电影| 不卡av免费在线观看| 高清在线不卡av| 色天使色偷偷av一区二区| 色乱码一区二区三区88| 色呦呦国产精品| 色综合天天综合网国产成人综合天 | 国产成人啪免费观看软件| 日韩精品福利网| 国产精品99久久久久久有的能看 | 国产成人免费在线视频| 亚洲国产成人91porn| 久久久久国产一区二区三区四区| 91天堂素人约啪| 精品一区二区三区在线播放视频 | 爽好多水快深点欧美视频| 欧美精选在线播放| 东方欧美亚洲色图在线| 久久精品国产一区二区三| 亚洲国产精品视频| 国产精品免费aⅴ片在线观看| 久久久噜噜噜久噜久久综合| 91精品国产91热久久久做人人| 精品视频免费在线| 成人精品在线视频观看| 日本视频在线一区| 中文字幕在线观看一区|