【问题标题】:How to open COMXX files(serial port)如何打开 COM 文件(串口)
【发布时间】:2012-03-08 10:37:44
【问题描述】:

我的串口有问题。

我写了一个程序,可以读取端口COM1到COM9,但可以打开COMXX(如com10、com11等)

我搜索并了解到 tCOM1–COM9 是 NT 命名空间中保留名称的一部分。 它说“要访问像 COMXX 这样的文件,您需要编写“\.\COMXX”。

我试过了,但没有成功。

有人有想法吗? 我最好的问候...

由于这个问题,下面的代码返回了一个无效的句柄值:

myPort = CreateFile("\\.\COM14",
              GENERIC_READ | GENERIC_WRITE,
              0,    /* exclusive access  */
              NULL, /* no security attrs */
              OPEN_EXISTING,
              0,
              NULL );

【问题讨论】:

    标签: c++ winapi serial-port


    【解决方案1】:

    您需要转义文件名参数中的反斜杠:

    myPort = CreateFile("\\\\.\\COM14",
                  GENERIC_READ | GENERIC_WRITE,
                  0,    /* exclusive access  */
                  NULL, /* no security attrs */
                  OPEN_EXISTING,
                  0,
                  NULL );
    

    您还试图打开 COM 端口 14。您的机器上真的有 14 个 COM 端口吗?请改用COM1

    【讨论】:

    • 这将适用于 COM9 以上的 COM 端口并回答问题。要检查端口是否打开成功,请将 myPort 与 INVALID_HANDLE_VALUE 进行比较。
    • 谢谢你。它起作用了..你知道的蓝牙东西。保留所有端口...无论如何,谢谢...
    猜你喜欢
    • 2013-03-29
    • 2013-03-21
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2010-09-26
    相关资源
    最近更新 更多