SendData(const char* buf, size_t size)
{
try
{
CEvent event(FALSE, TRUE);
OVERLAPPED overlapped;
ZeroMemory(&overlapped, sizeof(OVERLAPPED));
overlapped.hEvent = event;
if(!m_COM.Write(buf, size, overlapped))
{
DWORD dwBytesWritten;
if(WaitForSingleObject(event, 500) == WAIT_OBJECT_0)
m_COM.GetOverlappedResult(overlapped, dwBytesWritten, TRUE);
}
} catch(CSerialException& e)
{
AfxMessageBox(e.what());
}
}
重叠IO机制
最新推荐文章于 2020-10-13 17:52:24 发布
博客展示了SendData函数的代码,该函数用于发送数据。函数中使用了CEvent和OVERLAPPED进行异步IO操作,尝试向COM端口写入数据,若写入失败会等待事件并获取重叠结果,同时捕获CSerialException异常并弹出消息框。
893

被折叠的 条评论
为什么被折叠?



