📄 win32port.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
class CWin32Port
{
public:
int nPort;
DCB dcb;
short sReadByEndChar(unsigned char chEndChar,char TimeOut);
short sReadByLen( short len, short 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 + -