我遇到串口问题。
我编写了一个可以读取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 );
答案 0 :(得分:5)
你需要转义文件名参数中的反斜杠:
myPort = CreateFile("\\\\.\\COM14",
GENERIC_READ | GENERIC_WRITE,
0, /* exclusive access */
NULL, /* no security attrs */
OPEN_EXISTING,
0,
NULL );
您还尝试打开COM端口14.您的计算机上真的有14个COM端口吗?请改为COM1
。