我正在尝试使用 win32 API 与 com 端口对话
我找到了这个http://www.robbayer.com/files/serial-win.pdf http://www.robbayer.com/files/serial-win.pdf
hSerial = CreateFile("COM1",
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
我使用 VS2008,它抱怨
错误 C2664:“CreateFileW”:无法将参数 1 从“const char [5]”转换为“LPCWSTR”
好吧,我猜它不喜欢“COM1”是 char* 类型,
我尝试将其转换为 LPCWSTR("COM1"),然后编译没有问题。
但是,它返回“ERROR opening serial port -1”,因此它没有成功找到com端口。我想直接铸造不是正确的方法?
请告诉我应该做什么才能使这项工作成功。
msdn 没有那么有帮助http://msdn.microsoft.com/en-us/library/ms810467.aspx http://msdn.microsoft.com/en-us/library/ms810467.aspx
我不知道“gszPort”是什么意思
Try _T("COM1")
代替LPCWSTR("COM1")
。它被称为通用文本映射 http://msdn.microsoft.com/de-de/library/7dzey6h6.aspx。我实际上不知道这是否是问题所在,但使用_T
是正确的方法。
此外,当 Windows API 调用返回错误条件时(例如-1)你可以使用最后一个错误代码(使用GetLastError and FormatMessage) http://msdn.microsoft.com/en-us/library/ms680347.aspx以获得错误的更详细描述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)