0

我是在 C++ 中使用串行端口的新手。我为此目的找到了许多示例,其中之一是在 配置通信资源中

但是,根据系统错误代码,我几乎已经得到了错误号 2,这意味着 ERROR_FILE_NOT_FOUND ,但我无法弄清楚。我正在使用 Visual C++ 2010 Express。毫无疑问,问题来自 OPEN_EXISTING 命令:

TCHAR *pcCommPort = TEXT("COM1"); //  Most systems have a COM1 port
hCom = CreateFile( pcCommPort,
                  GENERIC_READ | GENERIC_WRITE,
                  0,      //  must be opened with exclusive-access
                  NULL,   //  default security attributes
                  OPEN_EXISTING, //  must use OPEN_EXISTING
                  0,      //  not overlapped I/O
                  NULL ); //  hTemplate must be NULL for comm devices

但是为什么和什么是 sulotion ?

4

1 回答 1

1
   //  Most systems have a COM1 port

那是20年前的事了。十多年前,主板制造商停止在主板上放置 COM 端口,USB 完全取代了它,成为与设备通信的主要和优越的方式。

如果您购买了带有真正串行端口的 PCI 板,那么您的机器中只会有一个 COM1 端口。今天更常见的情况是模拟串行端口的蓝牙或 USB 驱动程序。他们的驱动程序的工作方式没有真正的标准,但他们通常从 COM3 或 COM5 开始对模拟端口进行编号。您还应该为此类端口提供本机设备名称,以避免驱动程序无法模拟端口的 DOS 命名空间名称。使用"\\\\.\\COM3"例如。

使用控制面板 + 设备管理器找到正确的端口号。

于 2013-08-03T13:15:15.633 回答