Win32 SetupComm函数抛出介质是写保护错误

时间:2015-10-01 00:59:38

标签: c++ winapi serial-port

我正在用C ++编写一个程序来从串口读取和写入。

我无法解决的一个问题是,在调用SetupComm后它失败了。

使用GetLastError()告诉我错误0x00000013,“媒体被写保护”是该错误代码的定义。

谷歌搜索这意味着在编程方面没有任何意义。我一直在寻找结果指向博客上的硬盘拒绝让用户写这样的东西。没有基于编程的结果。

另外一条有趣的信息是,尽管SetupComm失败,我仍然可以成功写入串口。我只是无法从中读取。

以下是我打开连接的代码,直到我致电SetupComm

string s = "com1";
LPCSTR port = s.c_str();
DWORD dwDesiredAccess = GENERIC_READ | GENERIC_WRITE;
DWORD dwShareMode = 0;
LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL;
DWORD dwCreationDistribution = OPEN_EXISTING;
DWORD dwFlagsAndAttributes = FILE_FLAG_OVERLAPPED;
HANDLE hTemplateFile = NULL;

handle = CreateFile(port, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDistribution, dwFlagsAndAttributes, hTemplateFile);
bufferSizeReceive = 16;
bufferSizeTransmit = 16;

BOOL success = SetupComm(handle, bufferSizeReceive, bufferSizeTransmit);

0 个答案:

没有答案