【问题标题】:CreateFile COM port error 2CreateFile COM 端口错误 2
【发布时间】:2015-07-07 15:43:37
【问题描述】:

我正在尝试使用 Visual Studio 2012 (C++) 中的以下代码在 Windows 7 上打开并写入 COM 串行端口

printf("argv[2]= '%s'\n", argv[2]);

m_hCommPortSend= ::CreateFile(argv[2] ,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);

if(m_hCommPortSend == INVALID_HANDLE_VALUE) 
{
    printf("%s error: %d\n", argv[2], GetLastError());
    return -1;
}

此代码适用于 argv[2] 作为 COM1 或 COM7

我有另一个 com 端口 COM39,当我将 COM39 作为 argv[2] 传递时,它没有打开 GetLastError() 返回 2。

不知道为什么?

【问题讨论】:

    标签: c++ serial-port


    【解决方案1】:

    CreateFile 的 MSDN 页面在 Communications Resources 下显示以下内容:

    要指定大于 9 的 COM 端口号,请使用以下语法:\\.\COM10。此语法适用于所有端口号和允许指定 COM 端口号的硬件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-28
      • 1970-01-01
      相关资源
      最近更新 更多