c++ - 如何打开COMXX文件(串口)

标签 c++ winapi serial-port

串口有问题

我写了一个程序,可以读取端口 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 );

最佳答案

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

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

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

关于c++ - 如何打开COMXX文件(串口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616293/

相关文章:

winapi - 无法绑定(bind)到 XP sp3 上的低端口号 (80)

c - 我想连续从COM端口接收数据,同时想写入文件

windows - Rust Serialport-RS 读取被阻止

c++ - GetModuleFileName 防病毒错误检测 ???获取当前进程路径

c++ - 如何使进程 B 仅在进程 A 处于事件状态时运行

c - _tcstok (strtok) 跳转到 token 上?

c# - 在透明 WPF 窗口后面模糊

serial-port - 从 Arduino 发送到 Processing 的奇怪随机数据

c++ - 节点队列(链表)C++

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?