📄 serio.h
字号:
///////////////////////////////////////////////////////
// SerIO.h
#ifndef _SERIO_H_
#define _SERIO_H_
#define DATA_MODE 0
#define ADDR_MODE 1
// Ascii table
#define NUL 0x00
#define SOH 0x01
#define STX 0x02
#define ETX 0x03
#define EOT 0x04
#define ENQ 0x05
#define ACK 0x06
#define BS 0x08
#define LF 0x0a
#define CR 0x0d
#define XON 0x11
#define XOFF 0x13
#define NAK 0x15
#define ETB 0x17
#define CAN 0x18
#define SUB 0x1a
#define CTLZ 0x1a
#define ESC 0x1b
#define RS 0x1e
#define SPC 0x20
#define DEL 0x7f
#define SE_PORT_NOT_OPEN 0x2000ff00
#define SE_PORT_ALREADY_OPEN 0x2000ff01
#define SE_INVALID_PARAMETER 0x2000ff02
class CSerIO
{
protected:
HANDLE m_hCom; // Handle of Port
DCB m_dcb; // Setting for a serial communications device
CString m_strCommParam; // Communication parameters eg. "19200,N,8,1"
DWORD m_dwErrCode; // Error Code
OVERLAPPED m_wos, m_ros;
public:
static int m_nRTSCtl ;
CString m_strPort; // Port name ( eg. COM3 )
CSerIO(); // Construction
~CSerIO(); // Deconstruction
virtual BOOL Open( LPCTSTR pszPort,
LPCTSTR pszCommParam ); // Open the port
virtual int SetPortMode( int nMode = DATA_MODE, BOOL bRec = FALSE ) ;
void SetReadTimerOver( int nInterOver , int nMultiOver = 0 ) ;
virtual BOOL Close(); // Close the port
virtual BOOL PutChar( UCHAR uch ); // Put a character to port
virtual BOOL GetChar( UCHAR& uch ); // Get a character from port
virtual BOOL Write( PCHAR pchBuffer, DWORD dwLength, DWORD& dwWritten ); // Write block to port
virtual BOOL Read( PCHAR pchBuffer, DWORD dwMaxLength, DWORD& dwRead ); // Read block from port
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -