打开串口时使用FILE_FLAG_OVERLAPPED。在发送一串数据后必须立即将波特率改掉。但是WriteFile似乎只把数据发到缓冲(用PurgeComm也没用)。我如果在WriteFile之后立即修改波特率,则发送缓冲区内容会被清调,而对方也没有受到完整数据。所以需要知道缓冲区的数据已经发出我才能修改波特率。请问怎么办?
解决方案 »
- MFC如何打印Picture控件内容??在线等,我这有源码,需要看请留下联系方式。麻烦各位了。
- 如何绕过迅雷下载确认对话框?
- 请问AfxRepositionWindow() AFX_SIZEPARENTPARAMS 为什么提示 "找不到标识符"
- 求标准c下画线,画椭圆,填充,显示汉字(hzk16)的基本算法
- VC设置问题,马上给分。
- 添加webbrowser控件,然后,添加类,添加他的一个事件,运行,报告错误,对应的控件的ID找不到
- 怎么样可以使在Onsize时窗口不动,松开鼠标后,窗口才调整?
- 我的VC在写函数时后面为何没有提示参数???
- 如何提取系统DLL资源
- CFile::Read()读取MP3文件出现乱码!
- 送分题关于RECT和CRect
- 关于构造函数的问题?????????????///////
例如,用重叠I/O打开文件,
然后在线程中用例如
OVERLAPPED o;
o.hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
WriteFile(hCom,lpBuff,dwSizetoWrite,&dwWrite,&o);
if( WaitForSingleObject(o.hEvent,2000) == WAIT_OBJECT_0) // 写返回
{
DWORD dwRes = GetOverlappedResult(hCom,&o,&dwFinalWrite,FALSE);
if( dwRes )
{
//写完成,
}
}//返回