📄 comm.h
字号:
//Comm.h
//Rs232c甫 窍扁困茄 努贰胶 庆歹
// 2001斥 3岿 26老 (林) 付捞农肺 肺焊飘 S/W评 沥旷侥
//
#ifndef __COMM_H__
#define __COMM_H__
#define COM_MAXBLOCK 4095
#define COM_MAXPORTS 4
// Flow control flags
#define FC_DTRDSR 0x01
#define FC_RTSCTS 0x02
#define FC_XONXOFF 0x04
// ascii definitions
#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 ASCII_STX 0x02
#define ASCII_ETX 0xFE
#define WM_RECEIVEDATA WM_USER+100
/////////////////////////////////////////////////////////////////////////////
// CComm window
#define ZERO_MEMORY(s) ::ZeroMemory(&s, sizeof(s))
// flow control
#define FC_DTRDSR 0x01
#define FC_RTSCTS 0x02
#define FC_XONXOFF 0x04
#define FC_NONE 0x00
#define ASCII_XON 0x11
#define ASCII_XOFF 0x13
// registry stuff
#define CS_REGKEY_SETTINGS _T("烹脚券版")
#define CS_REGENTRY_PORT _T("PORT")
#define CS_REGENTRY_PARITY _T("PARITY")
#define CS_REGENTRY_BAUD _T("BAUD")
#define CS_REGENTRY_DATABITS _T("DATABITS")
#define CS_REGENTRY_STOPBITS _T("STOPBITS")
#define CS_REGENTRY_FLOW _T("FLOW")
#pragma pack(push,1)
typedef struct _TTYSTRUCT
{
BYTE byCommPort; // zero based port - 3 or higher implies TELNET
BYTE byXonXoff;
BYTE byByteSize;
BYTE byFlowCtrl;
BYTE byParity;
BYTE byStopBits;
DWORD dwBaudRate;
} TTYSTRUCT, *LPTTYSTRUCT;
#pragma pack(pop,1)
// 烹脚橇肺配妮 Table
extern BYTE _nFlow[4];
// 烹脚 单捞鸥 荤捞令 抛捞喉
extern int _nDataValues[2];
// 烹脚 加档 Table
extern int _nBaudRates[12];
// 烹脚 沥瘤 厚飘 Table
extern BYTE _nStopBits[2];
class CComm : public CObject
{
DECLARE_DYNCREATE( CComm )
public:
HANDLE idComDev ; //哪器飘 叼官捞胶 楷搬 勤甸
BOOL fConnected; //哪器飘啊 楷搬登搁 1肺 汲沥
BYTE abIn[ COM_MAXBLOCK + 1] ; //哪器飘俊辑 甸绢坷绰 单捞鸥
HWND m_hwnd; //皋技瘤甫 傈崔且 扩档快 敲矾弊
BOOL bTxEmpty; // TX侩 单捞磐啊 葛滴 价脚 登菌阑 版快 TRUE肺 傈券等促.
// Construction
public:
CComm( );
//哪器飘甫 凯绊 楷搬阑 矫档茄促.
BOOL OpenCommPort(LPTTYSTRUCT lpTTY);
//comm 器飘甫 秦力茄促.
BOOL DestroyComm();
//哪器飘俊辑 单捞鸥甫 罐绰促.
int ReadCommBlock( LPSTR data, int len);
//哪器飘俊 单捞鸥甫 持绰促.
BOOL WriteCommBlock( LPSTR data, DWORD len);
//器飘甫 楷搬茄促.
BOOL SetupConnection(LPTTYSTRUCT lpTTY);
//楷搬阑 秦力茄促.
BOOL CloseConnection( );
//佬篮 单捞鸥甫 滚欺俊 历厘茄促.
void SetReadData(LPSTR data, int nLen);
//皋矫瘤甫 焊尘 扩档快 勤甸阑 汲沥茄促.
void SetHwnd(HWND hwnd);
void EscapeCommFunction(DWORD dwFunc) ;
// Attributes
public:
OVERLAPPED osWrite, osRead;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CComm)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CComm();
// Generated message map functions
// DECLARE_MESSAGE_MAP()
protected:
};
/////////////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -