我在Visual Studio上使用C++连接到任何串行端口(想与Arduino交换)时遇到问题。

我正在使用Arduino运动场中提供的SerialClass,但无法打开端口的句柄。每次尝试都会引发ERROR_FILE_NOT_FOUND。

我已经测试了许多其他标记端口的方法:

"COM1"
"COM1:"
"\\.\COM1"

但没有任何效果。

该端口在系统上可用,并且可以使用Putty或Arduino IDE正常工作。此外,它不会被其他进程阻止。

我正在使用Windows 7 x64,但项目是Win32。

该类的构造
serialPort = new Serial((char*)port);
并且错误字符串显示正确的端口名。

我做错了什么?

文件打开也不起作用。

最佳答案

手动使用api打开串行端口的另一个很好的例子是here。相关部分(关于您的问题)使用以下端口号显示它们:

...
CreateFile("\\\\.\\COM1",GENERIC_WRITE
...

因此它可能是\\\\.\\COM1而不是您尝试过的选项。

09-04 02:21