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

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

?? ceserial.cpp

?? WinMobile下的gprs測試代碼
?? CPP
字號:
// CeSerial.cpp: implementation of the CCeSerial class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CeSerial.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CCeSerial::CCeSerial()
{
	m_hComm = INVALID_HANDLE_VALUE;		/* 串口操作句柄無效 */
	hRecvThread = NULL;
	m_ExitThreadEvent = NULL;			/* 串口接收線程退出事件無效 */
}

CCeSerial::~CCeSerial()
{
	ClosePort();
	if (hRecvThread != NULL)
	{
		CloseHandle(hRecvThread);
		SetEvent(m_ExitThreadEvent);				/* 通知串口接收線程退出 */
		Sleep(200);
		CloseHandle(m_ExitThreadEvent);				/* 關閉線程退出事件 */
	}
}


/*******************************************************************************************
函數名稱: CCeSerial::CommRecvTread
描    述: 串口接收線程
輸入參數: LPVOID lparam: 線程參數,創建線程時傳入
輸出參數: 無
返    回: 0: 線程退出, 返回值沒特殊含義
********************************************************************************************/
DWORD CCeSerial::CommRecvTread(LPVOID lparam)
{
	DWORD dwLength;
	BYTE *recvBuf = new BYTE[1024];
	CCeSerial *pCeSerial = (CCeSerial *)lparam;

	while(TRUE)
	{																/* 等待線程退出事件 */
		if (WaitForSingleObject(pCeSerial->m_ExitThreadEvent, 0) == WAIT_OBJECT_0)
			break;	

		if (pCeSerial->m_hComm != INVALID_HANDLE_VALUE)
		{															/* 從串口讀取數據 */
			BOOL fReadState = ReadFile(pCeSerial->m_hComm, recvBuf, 1024, &dwLength, NULL);
			if(!fReadState)
			{
				//MessageBox(_T("無法從串口讀取數據!"));
			}
			else
			{
				if(dwLength != 0)									/* 接收成功調用回調函數 */
					pCeSerial->OnCommRecv(pCeSerial->m_UserParam, recvBuf, dwLength);		
			}
		}
	}		

	delete[] recvBuf;
	return 0;
}



/*******************************************************************************************
函數名稱: CCeSerial::OpenPort
描    述: 打開串口
輸入參數: LPCTSTR Port: 串口名,如"COM0:","COM1:"
		  int BaudRate: 波特率
		  int DataBits: 數據位, 取值為7或8
		  int StopBits: 停止位
		  int Parity  : 奇偶校驗位
輸出參數: 無
返    回: FALSE: 失敗;    TRUE: 成功
********************************************************************************************/
BOOL CCeSerial::OpenPort(LPCTSTR Port, int BaudRate, int DataBits, int StopBits, int Parity,
						 BOOL bDTRShake, BOOL bRTSShake, DWORD UserParam)
{
	COMMTIMEOUTS CommTimeOuts;

	// 打開串口
	m_hComm = CreateFile(Port, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
	if(m_hComm == INVALID_HANDLE_VALUE)
	{
		AfxMessageBox(_T("無法打開端口或端口已打開!請檢查是否已被占用."));
		return FALSE;
	}

	GetCommState(m_hComm, &dcb);						/* 讀取串口的DCB */
	dcb.BaudRate = BaudRate;			
	dcb.ByteSize = DataBits;
	dcb.Parity = Parity;
	dcb.StopBits = StopBits;	
	dcb.fParity = FALSE;								/* 禁止奇偶校驗 */
	dcb.fBinary = TRUE;

	if (bDTRShake == FALSE)
		dcb.fDtrControl = 0;							/* 禁止流量控制 */
	else
		dcb.fDtrControl = DTR_CONTROL_HANDSHAKE;

	if (bRTSShake == FALSE)
		dcb.fRtsControl = 0;
	else
		dcb.fRtsControl = RTS_CONTROL_HANDSHAKE;

	dcb.fOutX = 0;
	dcb.fInX = 0;
	dcb.fTXContinueOnXoff = 0;
	
	//設置狀態參數
	SetCommMask(m_hComm, EV_RXCHAR);					/* 串口事件:接收到一個字符 */	
	SetupComm(m_hComm, 16384, 16384);					/* 設置接收與發送的緩沖區大小 */
	if(!SetCommState(m_hComm, &dcb))					/* 設置串口的DCB */
	{
		AfxMessageBox(_T("無法按當前參數配置端口,請檢查參數!"));
		ClosePort();
		return FALSE;
	}
		
	//設置超時參數
	GetCommTimeouts(m_hComm, &CommTimeOuts);		
	CommTimeOuts.ReadIntervalTimeout = 100;				/* 接收字符間最大時間間隔 */
	CommTimeOuts.ReadTotalTimeoutMultiplier = 1;		
	CommTimeOuts.ReadTotalTimeoutConstant = 100;		/* 讀數據總超時常量 */
	CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
	CommTimeOuts.WriteTotalTimeoutConstant = 0;		
	if(!SetCommTimeouts(m_hComm, &CommTimeOuts))
	{
		AfxMessageBox(_T("無法設置超時參數!"));
		ClosePort();
		return FALSE;
	}
		
	PurgeComm(m_hComm, PURGE_TXCLEAR | PURGE_RXCLEAR);	 /* 清除收/發緩沖區 */	
	
	m_UserParam = UserParam;							 /* 傳遞用戶參數 */

	// 創建線程及句柄
	DWORD IDThread;

	/* 創建串口接收線程退出事件*/
	m_ExitThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL);		

	// 創建串口接收線程
	hRecvThread = CreateThread(0, 0, CommRecvTread, this, 0, &IDThread);
	if (hRecvThread == NULL) 
	{
		ClosePort();
		AfxMessageBox(_T("創建接收線程失敗!"));
		return FALSE;
	}	
	
	return TRUE;		
}



BOOL CCeSerial::IsPortOpen(void)
{
	if(m_hComm != INVALID_HANDLE_VALUE) 
		return TRUE;

	return FALSE;
}


/*******************************************************************************************
函數名稱: CCeSerial::ClosePort
描    述: 關閉串口
輸入參數: 無
輸出參數: 無
返    回: FALSE: 失敗;    TRUE: 成功
********************************************************************************************/
BOOL CCeSerial::ClosePort(void)
{
	if(m_hComm != INVALID_HANDLE_VALUE)
	{
		SetCommMask(m_hComm, 0);		
		PurgeComm(m_hComm, PURGE_TXCLEAR | PURGE_RXCLEAR);	/* 清除收/發緩沖 */
		CloseHandle(m_hComm);								/* 關閉串口操作句柄 */
		m_hComm = INVALID_HANDLE_VALUE;
		return TRUE;
	}

	return FALSE;
}


/*******************************************************************************************
函數名稱: CCeSerial::OnOpenCom
描    述: "關閉端口" 代碼
輸入參數: 無
輸出參數: 無
返    回: 無
********************************************************************************************/
void CCeSerial::Senddata(BYTE *psendbuf, DWORD length) 
{
	DWORD dwactlen;

	if (m_hComm == INVALID_HANDLE_VALUE)
	{
		AfxMessageBox(_T("串口未打開!"));
		return;
	}

	WriteFile(m_hComm, psendbuf, length, &dwactlen, NULL);	 /* 從串口發送數據 */
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美中文字幕一区| 国产色产综合色产在线视频| 欧美一区二区三区日韩| 精品国产1区2区3区| 中文在线免费一区三区高中清不卡| 国产精品国产成人国产三级| 亚洲综合成人在线视频| 久久精品国产第一区二区三区| 成熟亚洲日本毛茸茸凸凹| 欧美亚洲国产一区二区三区va| 91精品蜜臀在线一区尤物| 中文字幕av一区 二区| 亚洲6080在线| 国产成人高清在线| 欧美午夜一区二区三区免费大片| 精品国产一区二区三区四区四| 国产精品欧美一区二区三区| 亚洲成人在线网站| 国产成人在线视频网站| 欧美视频在线不卡| 久久久久久久综合日本| 亚洲一区视频在线| 丰满少妇久久久久久久| 欧美一区二区在线不卡| 中文字幕一区二区三区在线观看| 日韩高清不卡在线| 97久久人人超碰| 精品日韩一区二区| 亚洲一区二区三区不卡国产欧美| 国产成人精品网址| 91精品国产综合久久香蕉麻豆| 一色屋精品亚洲香蕉网站| 久久福利资源站| 欧美亚洲丝袜传媒另类| 中文字幕制服丝袜一区二区三区| 国产99久久久精品| 2014亚洲片线观看视频免费| 爽好多水快深点欧美视频| 成人免费看片app下载| 欧美精品乱码久久久久久| 国产精品久久久久久久久图文区 | 欧美视频精品在线观看| 欧美精品在线一区二区| 国产精品天美传媒| 激情成人综合网| 欧美精品v国产精品v日韩精品| 国产精品短视频| 激情成人午夜视频| 日韩一区二区在线观看视频播放| 亚洲一区二区三区爽爽爽爽爽 | 中文字幕欧美国产| 国内精品伊人久久久久影院对白| 欧美日韩美少妇| 亚洲色欲色欲www在线观看| 国产精品66部| 精品国产1区2区3区| 三级不卡在线观看| 欧美色图激情小说| 一区二区三区在线高清| 99亚偷拍自图区亚洲| 中文字幕乱码日本亚洲一区二区| 久久国产精品99久久久久久老狼| 欧美一级国产精品| 日韩精品亚洲专区| 6080亚洲精品一区二区| 亚洲午夜久久久久久久久久久| 色诱视频网站一区| 亚洲免费观看高清完整| 日本韩国一区二区三区视频| 亚洲男人的天堂av| 在线视频综合导航| 亚洲国产精品综合小说图片区| 欧美性做爰猛烈叫床潮| 亚洲一区二区三区爽爽爽爽爽| 欧美日韩一区二区三区免费看| 亚洲一二三四在线观看| 精品视频在线免费看| 五月天中文字幕一区二区| 欧美日韩一本到| 亚洲午夜激情网页| 欧美日本高清视频在线观看| 婷婷丁香激情综合| 91女厕偷拍女厕偷拍高清| 全国精品久久少妇| 亚洲狠狠爱一区二区三区| 国产精品欧美经典| 欧美日韩亚洲另类| 国产成人自拍在线| 久久精品国产精品亚洲精品| 欧美国产欧美亚州国产日韩mv天天看完整| 91亚洲国产成人精品一区二三| 七七婷婷婷婷精品国产| 中文字幕在线不卡| 一区二区三区中文字幕精品精品 | 国产**成人网毛片九色 | 成人午夜看片网址| 中文字幕中文在线不卡住| 日本韩国欧美在线| 水野朝阳av一区二区三区| 精品剧情在线观看| 丁香婷婷综合网| 亚洲黄网站在线观看| 欧美精品色综合| 国产成人亚洲综合a∨猫咪| 亚洲日本在线视频观看| 欧美人动与zoxxxx乱| 青青草97国产精品免费观看 | 国内不卡的二区三区中文字幕| 国产日韩精品一区二区三区在线| 99久久久久久| 首页国产欧美久久| 欧美激情一区二区三区不卡 | 亚洲不卡一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 国产精品99久久久久久有的能看| 亚洲日本在线观看| 日韩一区二区三区三四区视频在线观看 | 成人精品一区二区三区中文字幕| 亚洲一卡二卡三卡四卡 | 国产69精品久久777的优势| 夜夜爽夜夜爽精品视频| 日韩免费高清电影| 97久久超碰精品国产| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美激情一区二区三区| 欧美日韩情趣电影| 粉嫩欧美一区二区三区高清影视| 欧美美女一区二区在线观看| 精品国产麻豆免费人成网站| 一区二区三区中文字幕在线观看| 亚洲色图在线看| 亚洲小说春色综合另类电影| 日韩高清不卡一区二区| 奇米色777欧美一区二区| 蜜臀久久99精品久久久久久9 | 欧美三级中文字| 国产精品久久久久永久免费观看| 欧美日韩成人综合天天影院| 成人的网站免费观看| 久久精品国产网站| 亚洲国产日韩a在线播放性色| 国产日韩欧美在线一区| 884aa四虎影成人精品一区| 处破女av一区二区| 国内外成人在线| 亚洲国产一二三| 日韩一区中文字幕| 精品久久久久久久人人人人传媒| 在线观看一区日韩| 不卡的av电影| 国产一区二区三区美女| 日本成人在线不卡视频| 亚洲激情第一区| 亚洲欧洲精品天堂一级| 精品99999| 在线成人av网站| 在线观看欧美日本| 白白色 亚洲乱淫| 国产一区二区三区四区五区美女| 日韩精品一二三区| 亚洲福利视频三区| 一区二区在线免费观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 一区二区三区四区在线播放| 国产欧美一区二区精品忘忧草| 日韩视频一区二区| 欧美久久免费观看| 欧洲另类一二三四区| 不卡视频免费播放| 丁香五精品蜜臀久久久久99网站 | 精品成人私密视频| 欧美成人伊人久久综合网| 奇米在线7777在线精品| 久久精品亚洲麻豆av一区二区| 91精品国产欧美日韩| 欧美高清视频www夜色资源网| 欧洲亚洲精品在线| 欧美三级蜜桃2在线观看| 欧美视频在线观看一区| 欧美日韩一区成人| 5566中文字幕一区二区电影| 欧美日韩国产一区二区三区地区| 欧美调教femdomvk| 欧美午夜片在线观看| 欧美性大战久久| 欧美影院精品一区| 欧美日韩高清一区二区不卡| 欧美久久免费观看| 日韩视频一区二区三区在线播放| 日韩欧美自拍偷拍| 亚洲精品一区二区三区蜜桃下载| 精品精品欲导航| 久久色在线视频| 欧美激情在线一区二区三区| 中文字幕中文在线不卡住| 亚洲欧美日韩一区| 偷拍与自拍一区| 久久av资源站| 国产999精品久久久久久| 不卡一区二区在线|