【发布时间】:2014-09-19 07:24:15
【问题描述】:
我使用的是 Windows 8.1 Pro 机器。好的,我正在尝试打开串行设备的 COM 端口连接。我的代码如下:
#include<stdio.h>
#include<windows.h>
int main(void)
{
HANDLE hcomm;
char *comPort = "COM6";
hcomm = CreateFile(comPort, GENERIC_READ | GENERIC_WRITE, 0, 0,
OPEN_EXISTING, 0, NULL);
if(hcomm = INVALID_HANDLE_VALUE)
{
printf("Connection Failed...\n");
}
else
printf("Connection Succeded....\n");
//return hcomm;
}
}
但是这段代码对我不起作用。请给我一些建议,我哪里弄错了。
【问题讨论】:
-
didn't work是什么意思? -
感谢 Jarod 重播,我真的不明白我在哪里出错了..我的语法和程序是正确的.. 是窗口的版本问题..?它在那里返回无效的句柄值..
-
顺便说一句,应该是
const char *comPort = "COM6"; -
是的,你是对的.. 我也在 mingw 和 vc++ 编译器上尝试过这个程序.. 但运气不好..
-
CreateFile将LPCTSTR lpFileName和LPCTSTR = const char*或const wchar_t*作为第一个参数,取决于_UNICODE,您是否尝试L"COM6"使用宽字符?
标签: c++ serial-port