我在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
而不是您尝试过的选项。