我是C ++中使用串口的新手。我已经找到了很多这样的例子,其中一个是在 Configuring a Communications Resource
但是,根据System Error Codes,我几乎已经得到错误号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
但是为什么以及什么是闷热?
答案 0 :(得分:1)
// Most systems have a COM1 port
那是20年前的事。十多年前,主板制造商已经停止在主板上安装COM端口,USB完全取代它作为与设备通信的主导和优越方式。
如果购买了带有真正串行端口的PCI板,则机器中只有一个COM1端口。今天更常见的情况是蓝牙或USB驱动程序模拟串行端口。它们的驱动程序的工作方式没有真正的标准,但它们通常开始在COM3或COM5上对模拟端口进行编号。您还应该为此类端口提供本机设备名称,以避免驱动程序无法模拟端口的DOS命名空间名称。例如,使用"\\\\.\\COM3"
。
使用“控制面板+设备管理器”查找正确的端口号。