📄 comm.h
字号:
// Comm.h: interface for the CComm class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_COMM_H__94379376_53FA_4DF0_B70D_5C469100538F__INCLUDED_)
#define AFX_COMM_H__94379376_53FA_4DF0_B70D_5C469100538F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define strEndLine "\r\n"
class CComm
{
public:
enum LOG_TYPE{NO_LOG=0, LOG_AS_ASCII=1, LOG_AS_HEX=2,};
HANDLE m_idComDev ;
BOOL m_bConnected; // OK: if the COMM successfully initialized
int m_nCommPort;
OVERLAPPED m_osWrite, m_osRead ;
COMMTIMEOUTS m_CommTimeOuts ;
int m_Baud;
char m_cParity;
int m_nDataBit;
float m_fStopBit;
int m_Timeout;
long m_nTimeInterval;//前后两次发送的时间最短间隔(ms)
int m_nTickLast;
CMutex m_mutex;
BOOL m_bParamSetted;
bool Open();
void Close();
bool Write(const char* pData, int nLen);
int Read(char* pData, int nLen);
static void WritePrivateProfileInt( LPCSTR lpAppName, LPCSTR lpKeyName, INT nValue, LPCSTR lpFileName );
static void LoadSaveCommPortParams(int nComm,
int &nBaud,
int &nDataBit,
float &fStopBit,
int &nTimeOut,
char &cParity,
long &nTimeInterval,
BOOL bLoadParams = TRUE);
CComm();
virtual ~CComm();
protected:
void GetCommReady();
void SetReadyComm();
void LoadDefaultSettings();
inline void MakesureLogType(char* pData, int nLen);
private:
CString GetHex(const BYTE* pData, int nLen);
FILE* m_pFileLog;
LOG_TYPE m_nWriteLog;
static BOOL m_bLogDebug;
};
#endif // !defined(AFX_COMM_H__94379376_53FA_4DF0_B70D_5C469100538F__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -