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

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

?? comport.cpp

?? 《AVR單片機GCC程序設計》
?? CPP
字號:
// ComPort.cpp: implementation of the CComPort class.
//	芯藝 (c) copyright 2004
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ComPort.h"

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

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

CComPort::CComPort()
{
	m_nCurrentCom=0;
	memset(&m_ovRead,0,sizeof(OVERLAPPED));
	memset(&m_ovWrite,0,sizeof(OVERLAPPED));
}

CComPort::~CComPort()
{
	m_strLastError.Empty();
}

BOOL CComPort::Open(int portnum)
{
	//如果要打開的端口號與當前打開的端口相同,返回
	if(m_nCurrentCom==portnum)
		return TRUE;

	Close();//關閉當前端口
	m_strLastError.Empty();

	if(m_ovRead.hEvent)
		ResetEvent(m_ovRead.hEvent);
	else
		m_ovRead.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);

	if(m_ovRead.hEvent==NULL)
		return FALSE;

	if(m_ovWrite.hEvent)
		ResetEvent(m_ovWrite.hEvent);
	else
		m_ovWrite.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);
	if(m_ovWrite.hEvent==NULL)
		return FALSE;

	COMMTIMEOUTS TimeOuts;
	DCB dcb;
	CString strCom;
	strCom.Format("COM%d",portnum);

	m_hCom=CreateFile(strCom								//端口符號鏈接
		,GENERIC_READ|GENERIC_WRITE							//操作屬性:讀并寫
		,0													//不共享
		,NULL												//無安全屬性
		,OPEN_EXISTING										//打開現存文件,若不存在則返回失敗
		,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED			//重疊操作
		,NULL												//無創建屬性
		);

	if(m_hCom==INVALID_HANDLE_VALUE)
		return FALSE;

	SetupComm(m_hCom,1024,1024);//設置輸入輸出緩沖區

	/*
	在串行接收時相鄰兩個字節到達時間間隔的超時毫秒數
	在ReadFile函數中第一個字節到達后生效
	0為不使用
	*/
	TimeOuts.ReadIntervalTimeout=MAXWORD;

	/*
	下四個域設置讀寫的總超時時間	
	總超時時間計算方法:
	ReadTotalTimeoutConstant+(ReadTotalTimeoutMultiplier*讀字節數)
	寫類似讀
	*/
	/*讀超時設為0,使ReadFile立即返回*/
	TimeOuts.ReadTotalTimeoutConstant=0;
	TimeOuts.ReadTotalTimeoutMultiplier=0;

	TimeOuts.WriteTotalTimeoutConstant=2000;
	TimeOuts.WriteTotalTimeoutMultiplier=50;

	SetCommTimeouts(m_hCom, &TimeOuts);//設置超時

	if(!GetCommState(m_hCom,&dcb))
	{
		Close();
		return FALSE;
	}
	dcb.fBinary=TRUE;//二進制方式,WINDOWS API只支持此方式
	dcb.BaudRate=9600;
	dcb.ByteSize=8;
	dcb.fParity=FALSE;//校驗禁止

	SetCommState(m_hCom,&dcb);

	m_nCurrentCom=portnum;
	return TRUE;
}

void CComPort::Close()
{
	if(m_nCurrentCom)
		CloseHandle(m_hCom);
	m_nCurrentCom=0;
}

//同步寫入操作
UINT CComPort::Write(UCHAR *buf, UINT len)
{
	DWORD length=len;
	COMSTAT ComStat;
	DWORD dwErrorFlags;

	ClearCommError(m_hCom,&dwErrorFlags,&ComStat);
	
	if(WriteFile(m_hCom,buf,length,&length,&m_ovWrite)==0)
	{
		if(GetLastError()==ERROR_IO_PENDING)
		{
			GetOverlappedResult(m_hCom,&m_ovWrite,&length,TRUE);// 等待
		}
		else
			length=0;
	}
	return length;
}

//異步讀取操作 反回:0:成功 1:超時 2:I/O錯誤 [3:用戶取消,pEvent[1]設置用戶取消事件時可用]
UINT CComPort::Read(UCHAR *buf, UINT len , DWORD timeout)
{
	DWORD WaitResult;
	HANDLE pEvent[2];

	pEvent[0]=m_ovRead.hEvent;

	DWORD length;
	ClearCommError(m_hCom,&length,NULL);
	length=0;
	ResetEvent(m_ovRead.hEvent);

	if(!ReadFile(m_hCom,buf,len,&length,&m_ovRead))
	{
		if(GetLastError()==ERROR_IO_PENDING) //重疊操作返回
		{
			//等待接收數據、取消操作和超時
			WaitResult=WaitForMultipleObjects(1,pEvent,FALSE,timeout);
			if(WaitResult==0)
			{
				GetOverlappedResult(m_hCom, &m_ovRead,&length, FALSE) ; 
				m_strLastError.Empty();
			}
			else if(WaitResult==WAIT_TIMEOUT)//超時
			{
				m_strLastError="\r\n通信超時";
				return 1;
			}
			else if(WaitResult==WAIT_FAILED)
			{
				m_strLastError="\r\n當前端口不可用";
				return 2;
			}

		}
		else//I/O錯誤
		{
			m_strLastError="\r\n當前端口不可用";
			return 2;
		}
	}
	return 0;
}

void CComPort::GetError(CString &str)
{
	str=m_strLastError;
	m_strLastError.Empty();
}

void CComPort::ClearBuffer()
{
	if(m_nCurrentCom>0)
		PurgeComm(m_hCom,PURGE_TXCLEAR|PURGE_RXCLEAR|PURGE_RXABORT);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频在线| 日本高清免费不卡视频| 日本乱码高清不卡字幕| 日韩免费电影一区| 亚洲在线观看免费| 国产成人免费在线视频| 91精品国产全国免费观看| 国产精品色一区二区三区| 日本怡春院一区二区| 91视频国产观看| 欧美国产精品久久| 极品少妇xxxx精品少妇偷拍| 欧美日韩一区小说| 亚洲人吸女人奶水| 成人免费看黄yyy456| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美日韩亚洲综合一区 | 欧美日韩国产小视频| 国产精品污污网站在线观看 | 亚洲欧美另类久久久精品2019| 久久99深爱久久99精品| 制服视频三区第一页精品| 亚洲精品国产无套在线观| 成人国产精品免费| 欧美激情在线看| 国产成人福利片| 国产日韩在线不卡| 国产成人精品三级| 国产午夜亚洲精品羞羞网站| 久久99国产精品麻豆| 日韩精品自拍偷拍| 九九视频精品免费| 久久这里只精品最新地址| 久久国产精品色婷婷| 精品捆绑美女sm三区| 精品无人码麻豆乱码1区2区 | 精品播放一区二区| 老司机精品视频在线| 日韩一区二区麻豆国产| 美国毛片一区二区三区| 精品久久久久一区二区国产| 久久99在线观看| 国产亚洲欧美激情| 成人av在线网| 洋洋av久久久久久久一区| 在线中文字幕一区二区| 亚洲成人高清在线| 欧美日本国产视频| 精品无人码麻豆乱码1区2区 | 欧美三区在线观看| 日韩国产在线一| www一区二区| gogo大胆日本视频一区| 亚洲国产日韩a在线播放| 欧美精品日韩一本| 国产精品18久久久久久vr| 亚洲国产精品精华液2区45| 97se亚洲国产综合自在线不卡| 亚洲在线成人精品| 精品国产污网站| 91在线观看免费视频| 日韩av电影免费观看高清完整版在线观看| 日韩欧美久久一区| 97精品久久久午夜一区二区三区| 午夜精品一区二区三区电影天堂| 精品少妇一区二区三区| 91在线视频在线| 免费三级欧美电影| 亚洲视频免费观看| 日韩一级大片在线| 91视频国产资源| 久久成人av少妇免费| 亚洲欧美日韩电影| 精品成人一区二区三区四区| 91在线无精精品入口| 青青国产91久久久久久| 亚洲色图一区二区| 欧美不卡视频一区| 欧美在线一区二区| 国产99久久久国产精品潘金网站| 亚洲成av人片在线观看| 国产精品久久久久精k8| 欧美一区二区免费视频| 91麻豆视频网站| 国产不卡视频一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 精品理论电影在线观看 | 亚洲女与黑人做爰| 欧美精品一区二区三区蜜桃| 欧洲一区在线观看| 成人听书哪个软件好| 六月丁香婷婷久久| 天天综合日日夜夜精品| 亚洲免费av观看| 欧美经典一区二区| 久久久国产综合精品女国产盗摄| 91精品国产全国免费观看 | 成人动漫一区二区在线| 精品一区二区三区在线观看 | 欧美国产一区在线| 日韩三级在线免费观看| 欧美午夜片在线看| 91亚洲永久精品| 91原创在线视频| 99久久综合99久久综合网站| 国产精品一级二级三级| 激情六月婷婷久久| 久久精品国产99| 麻豆国产精品视频| 免费精品99久久国产综合精品| 性做久久久久久久免费看| 亚洲午夜一区二区| 亚洲成人免费av| 日韩黄色片在线观看| 日韩va亚洲va欧美va久久| 日韩国产在线一| 蜜桃免费网站一区二区三区| 久热成人在线视频| 久久er精品视频| 国产精品一品二品| 岛国一区二区三区| eeuss鲁片一区二区三区在线观看| 国产成人av福利| av亚洲精华国产精华精华| youjizz久久| 91在线国内视频| 欧美视频一区在线观看| 欧美体内she精视频| 91精品国产色综合久久ai换脸| 欧美一级一区二区| 国产亚洲综合色| 亚洲天堂中文字幕| 性欧美疯狂xxxxbbbb| 久久不见久久见免费视频7| 国产精一区二区三区| 99精品偷自拍| 欧美一区二区三区视频免费| 日韩精品中文字幕一区| 国产亚洲成年网址在线观看| 亚洲色图清纯唯美| 一区二区在线观看视频在线观看| 婷婷综合另类小说色区| 国产一区二区三区在线观看免费 | 亚洲电影一级片| 韩国v欧美v日本v亚洲v| 97成人超碰视| 91精品黄色片免费大全| 中文字幕免费一区| 婷婷中文字幕综合| 大尺度一区二区| 欧美日本一区二区| 国产精品九色蝌蚪自拍| 偷拍日韩校园综合在线| 岛国精品在线播放| 337p亚洲精品色噜噜| 国产精品拍天天在线| 午夜成人在线视频| 成人黄色网址在线观看| 91精品国产综合久久久久久久久久 | 国产区在线观看成人精品| 一区二区视频在线看| 国产一区二区久久| 欧美日韩国产片| 国产精品妹子av| 久久疯狂做爰流白浆xx| 91成人看片片| 国产精品免费网站在线观看| 日韩福利电影在线| 91麻豆免费视频| 欧美国产亚洲另类动漫| 久久精品国产99国产精品| 欧美三级韩国三级日本一级| 国产日韩综合av| 久久99久久99精品免视看婷婷 | 国产精品中文字幕欧美| 欧美色图片你懂的| 成人免费在线播放视频| 激情综合五月天| 欧美一区二区女人| 午夜精品久久久久久久久| 色综合久久88色综合天天免费| 久久精品视频一区二区三区| 狂野欧美性猛交blacked| 欧美日韩一区二区三区视频| 中文字幕一区免费在线观看| 国产黄人亚洲片| 亚洲综合精品自拍| 91在线观看美女| 中文字幕一区二区三中文字幕| 国产成人午夜精品5599 | 久久99国产精品久久| 欧美男生操女生| 五月婷婷激情综合| 在线观看成人小视频| 亚洲综合激情小说| 在线观看不卡一区| 亚洲国产成人av网| 91精品黄色片免费大全| 日本不卡一二三| 精品久久一区二区三区|