|
@@ -28,7 +28,7 @@ bool CSerialPort::openComm()
|
|
|
{
|
|
{
|
|
|
m_hComm = CreateFile(m_portNum.c_str(),
|
|
m_hComm = CreateFile(m_portNum.c_str(),
|
|
|
GENERIC_READ | GENERIC_WRITE, //允许读和写
|
|
GENERIC_READ | GENERIC_WRITE, //允许读和写
|
|
|
- FILE_SHARE_READ | FILE_SHARE_WRITE, //独占方式
|
|
|
|
|
|
|
+ 0, //独占方式
|
|
|
NULL, OPEN_EXISTING, //打开而不是创建
|
|
NULL, OPEN_EXISTING, //打开而不是创建
|
|
|
0, //同步方式
|
|
0, //同步方式
|
|
|
NULL
|
|
NULL
|
|
@@ -128,22 +128,12 @@ bool CSerialPort::readFromComm(char buffer[], DWORD dwLength)
|
|
|
|
|
|
|
|
DWORD dwRx = 0; // 读入的字节数
|
|
DWORD dwRx = 0; // 读入的字节数
|
|
|
BOOL ret = FALSE;
|
|
BOOL ret = FALSE;
|
|
|
- BYTE* byReadData = new BYTE[dwLength];
|
|
|
|
|
- char szTmp[4] = { 0 };
|
|
|
|
|
- int sizeOfBytes = sizeof(szTmp);
|
|
|
|
|
- ret = ReadFile(m_hComm, byReadData, dwLength, &dwRx, NULL); // 读入数据
|
|
|
|
|
|
|
+ ret = ReadFile(m_hComm, buffer, dwLength, &dwRx, NULL); // 读入数据
|
|
|
|
|
|
|
|
if (ret == TRUE)
|
|
if (ret == TRUE)
|
|
|
{
|
|
{
|
|
|
LOG_INFO("read num:" << dwRx);
|
|
LOG_INFO("read num:" << dwRx);
|
|
|
- for (int i = 0; i < dwRx; ++i)
|
|
|
|
|
- {
|
|
|
|
|
- sprintf_s(szTmp, "%02x", byReadData[i]);
|
|
|
|
|
- strcat_s(buffer, sizeOfBytes*dwLength, szTmp);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 释放内存
|
|
|
|
|
- delete byReadData;
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|