我正在尝试在 Windows 7 x64 机器上使用 MinGW 与虚拟串行端口通信。根据设备管理器,我的设备在COM27
. 我有这个代码:
#include <windows.h>
#include <stdio.h>
int main()
{
HANDLE hComm;
const WCHAR FileFullPath[] = {L"COM1"} ;
hComm = CreateFile( (LPCTSTR)FileFullPath,
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0);
if (hComm == INVALID_HANDLE_VALUE) {
printf("Invalid value: %d\r\n", GetLastError());
}
}
这给了我一个ERROR_FILE_NOT_FOUND
(错误代码2)。输出:
Invalid value: 2
如果我将端口名称更改为COM1
(我拥有的另一个端口),则无法创建错误 1450 的文件,或者ERROR_NO_SYSTEM_RESOURCES
.
我究竟做错了什么?我接受 MinGW 的替代品,这不是强制性的。