ReadFile()返回一个空白数据
ReadFile() returns a blank data
我正在通过连接COM端口RD和TD引脚来测试串口通信。在执行下面的代码之前,COM端口已经初始化。
CString cs_Send = "F: 5000000 Hz, SF: 1.0, Phase: 10, Position: 50, on sample 1";
BOOL bWriteRC = false;
BOOL bReadRC = false;
DWORD iBytesWritten = 0;
char readBuffer[256] = {" "};
DWORD read;
bWriteRC = WriteFile(hPort,cs_Send.GetBuffer(10),cs_Send.GetLength(),&iBytesWritten,NULL);
**Sleep(1000);// Thanks for the advice!!! this Sleep() will fix this error.**
bReadRC = ReadFile(hPort,readBuffer,sizeof(readBuffer),&read,NULL);
if(bWriteRC)
{
if(bReadRC)
{
AfxMessageBox(readBuffer, MB_OK);
}
}
bWriteRC和bReadRC总是返回true。但是第一条信息是完全空白的。如果我运行它两次以上,第一条之后的每条消息都和我发送的完全一样。
通常,WriteFile
和WriteFileEx
函数将数据写入内部缓冲区,操作系统定期将数据写入磁盘或通信管道。FlushFileBuffers
函数将指定文件的所有缓存信息写入设备或管道。
呼叫WriteFile
后再呼叫FlushFileBuffers
。
参见FlushFileBuffers获取更多详细信息。
相关文章:
- 防止主数据类型C++的隐式转换
- 用于访问容器<T>数据成员的正确 API
- 嵌套在类中时无法设置成员数据
- 使用流处理接收到的数据
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 无法通过空白将文本文件行分隔为矢量
- 在cuda线程之间共享大量常量数据
- C++将文本文件中的数据读取到结构数组中
- 如何在C++中序列化结构数据
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 为什么C CHAR数据类型3D数组通过参数第一个括号为空白
- 输入层类型:图像数据在窗口咖啡cpp中给出空白输出
- C/C++中最有效的方法是为非常大的数据集修剪除1个空白之外的额外空白
- C 将数据读取到一个结构,但它跳过了我的一个获取线,使该元素空白
- 在 c++ 中将数据写入文件时奇怪的初始空白空间
- C++读取元数据文件,并处理由空白和:混合分隔的字段
- ReadFile()返回一个空白数据
- QtCreator QMediaPlayer元数据返回空白QString