|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "CommPortMgr.h"
|
|
|
|
|
#include "LogMgr.h"
|
|
|
|
|
|
|
|
|
|
CCommPortMgr::CCommPortMgr(void)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
CCommPortMgr::~CCommPortMgr(void)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>com <20><>(dwBaudRate <20>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
bool CCommPortMgr::Open(DWORD dwPort, DWORD dwBaudRate)
|
|
|
|
|
{
|
|
|
|
|
if(IsOpen())//<2F><><EFBFBD><EFBFBD>״ֱ̬<CCAC>ӷ<EFBFBD><D3B7><EFBFBD>
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
CString str = "Function :[CCommPortMgr::Open][<5B><><EFBFBD><EFBFBD>com <20><>]";
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
|
|
|
|
|
CString str1;
|
|
|
|
|
str1.Format("%ld",dwPort);
|
|
|
|
|
|
|
|
|
|
str = "Result :[com <20><><"+str1+"><3E><><EFBFBD><EFBFBD>]";
|
|
|
|
|
bool ret;
|
|
|
|
|
if(m_Com.Open(dwPort,dwBaudRate) == false)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog(str,_LOG_ERROR);
|
|
|
|
|
ret = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
str += "[OK]";
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
ret = true;
|
|
|
|
|
}
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
//<2F><EFBFBD><F2BFAAB4><EFBFBD>, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"9600, n, 8, 1"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>
|
|
|
|
|
bool CCommPortMgr::Open(DWORD dwPort, char *szSetStr)
|
|
|
|
|
{
|
|
|
|
|
CString str = "Function :[CCommPortMgr::Open][<5B><><EFBFBD><EFBFBD>com <20><>]";
|
|
|
|
|
//gLogMgr->WriteDebugLog(str);
|
|
|
|
|
|
|
|
|
|
CString str1;
|
|
|
|
|
str1.Format("%ld",dwPort);
|
|
|
|
|
|
|
|
|
|
str = "Result :[com <20><><"+str1+"><3E><><EFBFBD><EFBFBD>]";
|
|
|
|
|
bool ret;
|
|
|
|
|
if(m_Com.Open(dwPort,szSetStr) == false)
|
|
|
|
|
{
|
|
|
|
|
//gLogMgr->WriteDebugLog(str,_LOG_ERROR);
|
|
|
|
|
ret = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
str += "[OK]";
|
|
|
|
|
//gLogMgr->WriteDebugLog(str);
|
|
|
|
|
ret = true;
|
|
|
|
|
}
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><EFBFBD><F3B6A8B4><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ID
|
|
|
|
|
void CCommPortMgr::SetWnd(HWND hWnd)
|
|
|
|
|
{
|
|
|
|
|
CString str = "Function :[SetWnd][<5B><EFBFBD><F3B6A8B4><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ID]";
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
|
|
|
|
|
m_Com.SetWnd(hWnd);
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>szBuffer
|
|
|
|
|
CString CCommPortMgr::ReadBuf(char *szBuffer,DWORD dwBufferLength)
|
|
|
|
|
{
|
|
|
|
|
CString str = "Function :[ReadString][<5B><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ]";
|
|
|
|
|
//gLogMgr->WriteDebugLog(str);
|
|
|
|
|
m_Com.ReadString(szBuffer,dwBufferLength);
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CString CCommPortMgr::ReadStr()
|
|
|
|
|
{
|
|
|
|
|
CString str = "Function :[ReadString][<5B><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ]";
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
|
|
|
|
|
const int dwBufferLength = 500;
|
|
|
|
|
char szBuffer[dwBufferLength];
|
|
|
|
|
memset(szBuffer,'0',dwBufferLength);
|
|
|
|
|
|
|
|
|
|
m_Com.ReadString(szBuffer,dwBufferLength);
|
|
|
|
|
//ת<><D7AA>ΪCString
|
|
|
|
|
str = szBuffer;
|
|
|
|
|
|
|
|
|
|
//gLogMgr->WriteDebugLog(str);
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int CCommPortMgr::Read(LPVOID Buffer, DWORD dwBufferLength)
|
|
|
|
|
{
|
|
|
|
|
//CString str = "Function :[ReadString][<5B><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ]";
|
|
|
|
|
//gLogMgr->WriteDebugLog(str);
|
|
|
|
|
|
|
|
|
|
return m_Com.Read(Buffer,dwBufferLength);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void CCommPortMgr::Write(const char *szBuffer)
|
|
|
|
|
{
|
|
|
|
|
//CString str = "Function :[Write][<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]";
|
|
|
|
|
//gLogMgr->WriteDebugLog(str+szBuffer);
|
|
|
|
|
|
|
|
|
|
m_Com.Write(szBuffer);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CCommPortMgr::WriteBuf(LPVOID Buffer, DWORD dwBufferLength)
|
|
|
|
|
{
|
|
|
|
|
//CString str = "Function :[Write][<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]";
|
|
|
|
|
//gLogMgr->WriteDebugLog(str);
|
|
|
|
|
m_Com.Write(Buffer,dwBufferLength);
|
|
|
|
|
}
|
|
|
|
|
//<2F>رմ<D8B1><D5B4><EFBFBD>
|
|
|
|
|
void CCommPortMgr::Close()
|
|
|
|
|
{
|
|
|
|
|
CString str = "Function :[Close][<5B>رմ<D8B1><D5B4><EFBFBD>]";
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
|
|
|
|
|
m_Com.Close();
|
|
|
|
|
}
|
|
|
|
|
void CCommPortMgr::SetBufferSize(DWORD dwInputSize, DWORD dwOutputSize)
|
|
|
|
|
{
|
|
|
|
|
m_Com.SetBufferSize(dwInputSize,dwOutputSize);
|
|
|
|
|
}
|
|
|
|
|
int CCommPortMgr::GetInputSize()
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("BufferSize","",m_Com.GetInputSize());
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|