📄 scom.h
字号:
// SCom.h: interface for the CSCom class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SCOM_H__F2E85FA5_CAD6_4C96_A79A_F49002A8995A__INCLUDED_)
#define AFX_SCOM_H__F2E85FA5_CAD6_4C96_A79A_F49002A8995A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef struct {
int iWriteState;
DWORD tmSendOut;
} SMSSendStatus;
class __declspec(dllimport) CSerialComm
{
public:
CString GetPort();
int Read(char* buf, int &len);
int Write(char * buf , int len);
ULONG m_ulTime; //串口等待时间
ULONG m_ulRate; //串口频率
UINT iRecvLen; //收到数据长度
BOOL m_bGsm ; //GSM 串口标志
UCHAR ucRecvBuf[4096] ; //缓存
HANDLE m_hEvent ; //等待事件
HANDLE hWrite; //写事件
HANDLE hShutDown; //关闭线程事件
CWinThread *m_pReadThread ; //负责即时读串口线程
SMSSendStatus smsStatus;
//{{AFX_VIRTUAL(CDebugDlg)
int Write(CString strSend);
int Read(CString& strRead , int &nLength );
virtual void DataProcess(UCHAR *buf,DWORD len);
BOOL InitCom(CString strPort);
void CloseCom();
BOOL OpenCom(CString strPort);
//}}AFX_VIRTUAL
void Connfig();
static UINT SCThd(LPVOID pPara);
CSerialComm();
~CSerialComm();
BOOL m_bOpen ;
OVERLAPPED m_ov;
int bExitRead; //结束读线程
protected:
//UINT m_unPort; //通讯端口
CString m_strPort ; //通讯端口
CRITICAL_SECTION m_csCommunicationSync;
BOOL m_bThread ;
HANDLE m_hCom ;
HANDLE m_hEventArray[3];
int iMaxReadSecond; //毫秒
public:
// 询问串口
BOOL AskCom(char * cBuf, int iSend, CByteArray &btArray);
void SetMaxReadSecond(int iSecond);
};
#endif // !defined(AFX_SCOM_H__F2E85FA5_CAD6_4C96_A79A_F49002A8995A__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -