我在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);
,错误字符串显示正确的端口名。
我做错了什么?
文件打开也不起作用。
答案 0 :(得分:4)
其他人手动使用api打开串口的一个很好的例子是here。相关部分(关于您的问题)使用端口号显示它们如下:
...
CreateFile("\\\\.\\COM1",GENERIC_WRITE
...
所以它可能是\\\\.\\COM1
而不是您尝试过的选项。
答案 1 :(得分:1)
找到了答案!
我使用(LPCTSTR)输入了字符串,但这不会返回有效的字符串。不得不使用
const WCHAR FileFullPath[] = {L"COM4"} ;
转换。
答案 2 :(得分:0)
你确定这不是Windows 7 64位的驱动程序问题吗?