串口C ++问题

时间:2010-11-05 10:01:54

标签: c++ windows visual-c++ serial-port

我在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);

,错误字符串显示正确的端口名。

我做错了什么?

文件打开也不起作用。

3 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

找到了答案!

我使用(LPCTSTR)输入了字符串,但这不会返回有效的字符串。不得不使用

const WCHAR FileFullPath[] = {L"COM4"} ;

转换。

答案 2 :(得分:0)

你确定这不是Windows 7 64位的驱动程序问题吗?