HANDLE hPort = CreateFile(
COM1,
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
0,
NULL
);
当没有设备连接到 COM 端口时,此函数是否会返回一个值(除非为零)?
最佳答案
目前尚不清楚您实际上要问的问题是什么,但示例中的 CreateFile
调用只会因以下两个原因之一而失败:
- 没有
COM1
设备。这可能是因为系统中没有物理串行端口,Windows 未能检测到它,或者 Windows 为其分配了不同的 COM 端口号。 COM1
设备已打开。 Windows 只允许串行设备打开一次。任何进一步打开该端口的尝试都将失败。
当CreateFile
失败时,它将返回INVALID_HANDLE_VALUE
。调用不会失败,因为串行端口没有连接电缆或设备。 Windows只能检测串口本身是否存在,一般无法检测是否有东西连接到串口。
关于c - 使用函数 CreateFile(..) 在 C 中打开串行 RS232 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26086256/