⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win32port.h

📁 磁卡读写器编程
💻 H
字号:
// Win32Port.h

#ifndef __SERIAL_H__
#define __SERIAL_H__

#define FC_DTRDSR       0x01
#define FC_RTSCTS       0x02
#define FC_XONXOFF      0x04
#define ASCII_BEL       0x07
#define ASCII_BS        0x08
#define ASCII_LF        0x0A
#define ASCII_CR        0x0D
#define ASCII_XON       0x11
#define ASCII_XOFF      0x13
#define MAXBLOCK    512

#define _NO_DATA     -1
#define _ERR_RCVLEN  -10
#define _ERR_ENDCHAR -11
#define _ERR_READCOM -12
#define _ERR_READCOM2 -13
#define _ERR_WRITECOM -14
#define _ERR_TIMEOUT  -4
#define _ERR_RCVDATA  -3
#define _ERR_SETREAD  -5
#define _ERR_COMOPEN  -2
#define _OK_RCV  0

#define _NO_DEVICE  -20

class CWin32Port
{

public:
	int nPort;
    DCB dcb;
	
	short sReadByEndChar(unsigned char chEndChar,char TimeOut);
	short sReadByLen(short len, short Timeout);
	short sReadComNormal(char TimeOut);
	void AsynClearReadBuffer();
	short AsynReadByLen(short len);
	void SetupParam(int port, int BaudRate, char Parity, char ByteSize, char StopBits);

	char chRcvbuf[MAXBLOCK];
	char chSendbuf[MAXBLOCK];
	int nRcvlen;
	int nSendlen;
    char bReadOK;

	short AsynReadByEndChar(unsigned char chEndChar);
	CWin32Port();
	~CWin32Port();

	BOOL AsynOpen();
	BOOL AsynClose(void);

	int AsynReadData(void *, int);
	int AsynSendData(const char *, int);
	int AsynGetReadLen(void);

	char AsynIsOpened(void){ return( mbOpened ); }

protected:
	BOOL WriteCommByte(unsigned char);

	HANDLE m_hIDComDev;
	OVERLAPPED m_OverlappedRead, m_OverlappedWrite;
	char mbOpened;

private:
	char mStopBits;
	char mByteSize;
	char mParity;
	int mBaudRate;
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -