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

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

?? serialport.h

?? 同時可以打開兩個串口的程序。可以進行收發試驗。
?? H
字號:
/*
**	FILENAME			CSerialPort.h
**
**	PURPOSE				This class can read, write and watch one serial port.
**						It sends messages to its owner when something happends on the port
**						The class creates a thread for reading and writing so the main
**						program is not blocked.
**
**	CREATION DATE		15-09-1997
**	LAST MODIFICATION	12-11-1997
**
**	AUTHOR				Remon Spekreijse
**
**
*/

#ifndef __SERIALPORT_H__
#define __SERIALPORT_H__

#define WM_COMM_BREAK_DETECTED		WM_USER+1	// A break was detected on input.
#define WM_COMM_CTS_DETECTED		WM_USER+2	// The CTS (clear-to-send) signal changed state. 
#define WM_COMM_DSR_DETECTED		WM_USER+3	// The DSR (data-set-ready) signal changed state. 
#define WM_COMM_ERR_DETECTED		WM_USER+4	// A line-status error occurred. Line-status errors are CE_FRAME, CE_OVERRUN, and CE_RXPARITY. 
#define WM_COMM_RING_DETECTED		WM_USER+5	// A ring indicator was detected. 
#define WM_COMM_RLSD_DETECTED		WM_USER+6	// The RLSD (receive-line-signal-detect) signal changed state. 
#define WM_COMM_RXCHAR				WM_USER+7	// A character was received and placed in the input buffer. 
#define WM_COMM_RXFLAG_DETECTED		WM_USER+8	// The event character was received and placed in the input buffer.  
#define WM_COMM_TXEMPTY_DETECTED	WM_USER+9	// The last character in the output buffer was sent.  
#define WM_COMM_PERR_DETECTED		WM_USER+10	// Printer error detected
#define WM_COMM_RX80FULL_DETECTED	WM_USER+11	// Receive buffer is 80 percent full
#define WM_COMM_SPECIFYEVENT1		WM_USER+12	// Provider specific event 1
#define WM_COMM_SPECIFYEVENT2		WM_USER+13	// Provider specific event 2

#define WM_COMM_EVENT				WM_USER+100	// COMM event
#define WM_COMM_ERROR				WM_USER+101	// comm error

#define COMM_ERR_RXOVER				201	// Receive Queue overflow
#define COMM_ERR_OVERRUN			202	// Receive Overrun Error
#define COMM_ERR_RXPARITY			203	// Receive Parity Error
#define COMM_ERR_FRAME				204	// Receive Framing error
#define COMM_ERR_BREAK				205	// Break Detected
#define COMM_ERR_TXFULL				206	// TX Queue is full
#define COMM_ERR_PTO				207	// LPTx Timeout
#define COMM_ERR_IO					208	// LPTx I/O Error
#define COMM_ERR_DNS				209	// LPTx Device not selected
#define COMM_ERR_OOP				210	// LPTx Out-Of-Paper
#define COMM_ERR_MODE				211	// Requested mode unsupported
#define COMM_ERR_BADID				212	// Invalid or unsupported id
#define COMM_ERR_NOPEN				213	// Device Already Open
#define COMM_ERR_MEMORY				214	// Unable to allocate queues
#define COMM_ERR_DEFAULT			215	// Error in default parameters
#define COMM_ERR_HARDWARE			216	// Hardware Not Present
#define COMM_ERR_BYTESIZE			217	// Illegal Byte Size
#define COMM_BAUDRATE				218	// Unsupported BaudRate

#define DEFAULT_BUFSIZE		0x800		// 2K

#ifndef _COMSEND_HEX
#define _COMSEND_HEX
#endif

#ifndef _USE_DEFAULT_BUFSIZ
#define _USE_DEFAULT_BUFSIZ
#endif

enum {COMERRSTATE_READ, COMERRORSTATE_WRITE};

typedef struct _ComErrorState
{
	DWORD dwErrFlag;
	int enWhile;
}ComErrorState;

typedef struct _ComSendStruct
{
	ULONG nSizeBuf;
#ifdef _USE_DEFAULT_BUFSIZ
	BYTE sendBuf[DEFAULT_BUFSIZE];
#else
	BYTE* sendBuf;
#endif
}ComSendStruct;

/*
typedef struct _ComRcvStruct
{
	int nSize;
	LPCTSTR lpszBuf;
}ComRcvStruct;
*/

class CSerialPort
{														 
public:
	// contruction and destruction
	CSerialPort();
	virtual		~CSerialPort();

	// port initialisation											
	BOOL		InitPort(CWnd* pPortOwner, UINT portnr = 1, UINT baud = 19200, char parity = 'N', UINT databits = 8, UINT stopsbits = 1, DWORD dwCommEvents = EV_RXCHAR | EV_CTS, UINT nBufferSize = 512);

	// port termination
	int			ClosePort();

	// start/stop comm watching
	BOOL		StartMonitoring();
	BOOL		RestartMonitoring();
	BOOL		StopMonitoring();

	DWORD		GetWriteBufferSize();
	DWORD		GetCommEvents();
	DCB			GetDCB();

	BOOL		IsRunning() {return m_bThreadRunning;}
	BOOL		IsNeedThreadStopping() {return m_bNeedThreadStop;}
	void		NeedThreadStopping(BOOL bNeed) {m_bNeedThreadStop = bNeed;}
	void		WriteToPort(void* string, ULONG nCount);
	CString		GetComName() {return m_sComName;}
	void		SetComName(CString s)
	{
		m_sComName = s;
	}

protected:
	static void CommErrorProc(HWND hRcvWnd, DWORD dwErrorCode, LPARAM dwPortNum, BOOL bRead = TRUE);
	// protected memberfunctions
	void		ProcessErrorMessage(char* ErrorText);
	static UINT	CommThread(LPVOID pParam);
	static void	ReceiveChar(CSerialPort* port, COMSTAT comstat);
	static void	WriteChar(CSerialPort* port);

	// thread
	CWinThread*			m_Thread;

	// synchronisation objects
	CRITICAL_SECTION	m_csCommunicationSync;
	BOOL				m_bThreadAlive;

	// handles
	HANDLE				m_hShutdownEvent;
	HANDLE				m_hComm;
	HANDLE				m_hWriteEvent;
	HANDLE				m_hOpenCom;
	HANDLE				m_hCloseCom;

	// Event array. 
	// One element is used for each event. There are two event handles for each port.
	// A Write event and a receive character event which is located in the overlapped structure (m_ov.hEvent).
	// There is a general shutdown when the port is closed. 
	HANDLE				m_hEventArray[5];

	// structures
	OVERLAPPED			m_ov;
	COMMTIMEOUTS		m_CommTimeouts;
	DCB					m_dcb;

	// owner window
	CWnd*				m_pOwner;

	// misc
	UINT				m_nPortNr;
#ifndef _COMSEND_HEX
	BYTE*				m_szWriteBuffer;
#else
	ComSendStruct		m_comWriteBuffer;
#endif
	DWORD				m_dwCommEvents;
	DWORD				m_nWriteBufferSize;

	CString				m_sComName;
	BOOL				m_bThreadRunning;
	BOOL				m_bNeedThreadStop;
};

#endif __SERIALPORT_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品99国产精品| 成人性色生活片| 国产超碰在线一区| 欧美日韩亚洲综合一区二区三区| 欧美www视频| 亚洲女人的天堂| 国产精品中文字幕日韩精品| 日本韩国一区二区三区视频| 精品欧美一区二区在线观看| 亚洲一区二区黄色| 国产mv日韩mv欧美| 精品久久久久久无| 日韩一区精品视频| 日本精品一级二级| 中文字幕一区二| 极品少妇xxxx精品少妇| 欧美日韩一区高清| ●精品国产综合乱码久久久久 | 欧洲av一区二区嗯嗯嗯啊| 337p粉嫩大胆噜噜噜噜噜91av | www.欧美日韩| www国产精品av| 免费成人在线视频观看| 欧美视频一区在线观看| 亚洲欧美日韩久久| 99久久久无码国产精品| 欧美激情在线一区二区| 国产剧情一区二区三区| 精品第一国产综合精品aⅴ| 午夜精品久久久久久久蜜桃app| 91女人视频在线观看| 国产精品久久久久影院色老大| 精品一区二区免费看| 日韩欧美电影在线| 麻豆精品久久久| 日韩小视频在线观看专区| 日av在线不卡| 日韩一区二区免费电影| 老色鬼精品视频在线观看播放| 欧美日韩一级大片网址| 亚洲午夜精品久久久久久久久| 91在线播放网址| 亚洲黄色小视频| 在线日韩av片| 亚洲福中文字幕伊人影院| 欧美日韩国产在线观看| 婷婷中文字幕综合| 91精品欧美久久久久久动漫| 蜜桃久久av一区| 久久网站热最新地址| 成人性色生活片| 亚洲欧美国产毛片在线| 欧美在线视频不卡| 日韩成人一级大片| 精品91自产拍在线观看一区| 国产成人精品影视| 亚洲女人****多毛耸耸8| 在线精品视频一区二区三四| 婷婷成人综合网| 久久午夜羞羞影院免费观看| 99re视频精品| 亚洲成a人v欧美综合天堂下载| 91麻豆精品国产综合久久久久久| 蜜臀91精品一区二区三区| 久久伊99综合婷婷久久伊| 99精品在线观看视频| 婷婷中文字幕综合| 国产亚洲自拍一区| 欧美亚洲一区二区在线观看| 成人综合婷婷国产精品久久免费| 国产精品不卡在线| 在线观看91精品国产麻豆| 国产麻豆精品theporn| 亚洲天堂av老司机| 日韩欧美国产午夜精品| 99视频一区二区三区| 欧美aⅴ一区二区三区视频| 国产亚洲综合在线| 在线播放日韩导航| 成人av在线资源网站| 日韩高清不卡在线| 国产精品不卡视频| 欧美精品一区二区三区四区| voyeur盗摄精品| 久久激五月天综合精品| 中文字幕一区二区三| 精品少妇一区二区三区| 在线观看国产日韩| 国产激情视频一区二区在线观看| 亚洲综合色区另类av| 久久精品亚洲精品国产欧美kt∨| 欧美中文字幕一区| 成人avav影音| 国产在线播精品第三| 亚洲成a人片综合在线| 亚洲女人小视频在线观看| 久久久美女毛片| 日韩亚洲欧美中文三级| 欧美三区在线视频| 91在线国内视频| 国产99精品在线观看| 久久99久久99| 午夜精品久久久久久| 一区二区三区毛片| 亚洲欧洲日本在线| 中文字幕不卡三区| 久久奇米777| 精品国产乱子伦一区| 91麻豆精品国产91久久久久久| 91麻豆免费看片| 成人福利视频网站| 国产精品18久久久| 国产乱淫av一区二区三区 | 欧美性生活一区| 色婷婷精品大在线视频 | 日本电影亚洲天堂一区| 成人av在线网站| 成人开心网精品视频| 国产在线视频一区二区三区| 久久精品国产99国产精品| 免费在线看一区| 麻豆精品国产传媒mv男同| 麻豆国产一区二区| 黑人巨大精品欧美黑白配亚洲| 狂野欧美性猛交blacked| 久久99久久久欧美国产| 极品美女销魂一区二区三区免费| 精品一区二区在线免费观看| 激情偷乱视频一区二区三区| 国产剧情在线观看一区二区| 国产乱人伦偷精品视频免下载| 国产大陆亚洲精品国产| 成人网在线播放| 91免费视频观看| 91国偷自产一区二区三区观看| 欧美专区在线观看一区| 欧美精品123区| 亚洲精品一区二区三区福利| 亚洲国产精品成人综合色在线婷婷| 亚洲国产激情av| 亚洲欧洲制服丝袜| 日日摸夜夜添夜夜添国产精品| 免费av网站大全久久| 国产成人精品免费| 91蜜桃视频在线| 欧美一区二区三区色| 久久久亚洲午夜电影| 18成人在线观看| 欧美bbbbb| 成人高清免费观看| 欧美网站大全在线观看| 日韩精品一区二区三区三区免费| 久久亚洲私人国产精品va媚药| 日韩久久一区二区| 蜜臀久久久久久久| 成人久久久精品乱码一区二区三区| 在线亚洲精品福利网址导航| 日韩久久免费av| 国产精品高潮呻吟久久| 日韩av电影天堂| 菠萝蜜视频在线观看一区| 欧美一区二区三区爱爱| 国产精品丝袜一区| 色呦呦国产精品| 在线不卡一区二区| 国产精品欧美一级免费| 日韩国产在线观看| 99久久综合国产精品| 日韩色视频在线观看| 亚洲日本va午夜在线影院| 麻豆精品一区二区av白丝在线| 99综合电影在线视频| 精品国产露脸精彩对白 | 国产日韩欧美电影| 偷偷要91色婷婷| av中文一区二区三区| 日韩欧美电影在线| 性做久久久久久免费观看| 成人性生交大片| 2021久久国产精品不只是精品| 亚洲人成影院在线观看| 国产91精品露脸国语对白| 91精品福利在线一区二区三区 | 国产黄色成人av| 欧美一区二区视频观看视频| 亚洲精品福利视频网站| 成人午夜激情片| 久久伊人蜜桃av一区二区| 免费成人小视频| 欧美男女性生活在线直播观看| 亚洲人成人一区二区在线观看 | 日本欧美在线观看| 欧美主播一区二区三区| 亚洲免费毛片网站| 成人动漫精品一区二区| 久久久三级国产网站| 久久av中文字幕片| 欧美大肚乱孕交hd孕妇| 日韩成人精品在线| 91精品国产福利|