在调试写串口时,需要查看所写数据和长度,并存储到文件。
void CCeSerial::Senddata(BYTE *psendbuf, DWORD length)
{
DWORD dwactlen;
if (m_hComm == INVALID_HANDLE_VALUE)
{
AfxMessageBox(_T("串口未打开!"));
return;
}
WriteFile(m_hComm, psendbuf, length, &dwactlen, NULL); /* 从串口发送数据 */
CString strTmp = _T("");
LPTSTR pStr = strTmp.GetBuffer(dwactlen);
MultiByteToWideChar(CP_ACP, 0, (char *)psendbuf, dwactlen, pStr, dwactlen); /* 将接收到的数据转换为 Unicode 编码 */
strTmp.ReleaseBuffer();
CString text=_T("");
text.Format(_T("发送长度:%d, 数据:%s"), dwactlen, strTmp);
writeLog(text);
}