74 lines
1.8 KiB
C++
74 lines
1.8 KiB
C++
// SComPort.h: interface for the CSComPort class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_SCOMPORT_H__2F1C7926_4FFF_4C0A_B449_CD05EC100ADD__INCLUDED_)
|
|
#define AFX_SCOMPORT_H__2F1C7926_4FFF_4C0A_B449_CD05EC100ADD__INCLUDED_
|
|
|
|
#include "Constant.h"
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class CSComPort
|
|
{
|
|
public:
|
|
BOOL DetectLine();
|
|
void ClearCommReceiveBuff();
|
|
void ClearCommSendBuff();
|
|
void SetScanBreakSign(BOOL bIsScanBreak);
|
|
BOOL SendDataDirectly(char *pDataBuff, int iDataSize);
|
|
BOOL ReceiveDataDirectly(char *pDataBuff, int* iDataSize);
|
|
BOOL ZmodemReceiveDataDirectly(char *pDataBuff, int *iDataSize);
|
|
BOOL ZmodemSendDataDirectly(char *pDataBuff, int iDataSize);
|
|
|
|
void CloseComm();
|
|
void SetOwnerWnd(HWND hOwnerWnd);
|
|
void SetCommID(long lCommID);
|
|
|
|
static UINT SComPortDetectBreakThreadFun(LPVOID pParam);
|
|
|
|
static BOOL FindComName(CStringArray* pStringArray);
|
|
|
|
BOOL OpenComm(CString szComName);
|
|
|
|
BOOL ExecuteOrder(CString strOrder, CString strSign, CString *pStrResult, int nRepeatCnt=3);
|
|
BOOL ExecuteSignleOrder(CString f_szOrder, CString f_szSign, CString *f_szResult);
|
|
BOOL ExecuteNoResOrder(CString f_szOrder);
|
|
CSComPort();
|
|
CSComPort(HWND hOwnerWnd, long lCommID);
|
|
virtual ~CSComPort();
|
|
HANDLE m_hCom;
|
|
HWND m_hOwnerWnd;
|
|
private:
|
|
void closeLog();
|
|
void openLog();
|
|
OVERLAPPED m_Overlapped;
|
|
|
|
BOOL m_bIsScanBreak;
|
|
char m_aWriteBuffer[WRITEBUFFER_SIZE];
|
|
int m_iWriteSize;
|
|
|
|
DWORD m_dwBLThreadID;
|
|
HANDLE m_hBLThread;
|
|
|
|
BOOL m_bIsDetBreakFun;
|
|
|
|
char m_aReadBuffer[READBUFFER_SIZE];
|
|
int m_iReadSize;
|
|
long m_lCommID;
|
|
|
|
CString m_szComName;
|
|
DCB m_dcbBlock;
|
|
|
|
DWORD m_dwFactdata;
|
|
|
|
//log
|
|
void PrintLogLast(CString& strLog);
|
|
FILE *m_Log;
|
|
//log
|
|
};
|
|
|
|
#endif // !defined(AFX_SCOMPORT_H__2F1C7926_4FFF_4C0A_B449_CD05EC100ADD__INCLUDED_)
|