使用函数 CreateFile(.) 在 C 中打开串行 RS232 端口


   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只能检测串口本身是否存在,它通常无法检测是否有东西连接到串口。

相关内容

  • 没有找到相关文章

最新更新