如何打开COMXX文件(串口)

bak*_*kar 3 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 );
Run Code Online (Sandbox Code Playgroud)

ade*_*hus 5

您需要转义 filename参数中的反斜杠:

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

您还尝试打开COM端口14.您的计算机上确实有14个COM端口吗?试试吧COM1.