[问题] USB通讯问题 (已解决,感谢各位前辈)

楼主: jiannan1828 (我也不願意)   2016-10-16 20:17:50
开发平台(Platform): (Ex: Win10, Linux, ...)
Windows 7 and Windows 10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC (CodeBlock)
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
Setupapi.dll, hid.dll, kernal32.dll
问题(Question):
请问各位前辈, 小弟目前需要与USB HID通讯,
看了几本实作的书以及google的资料, 得到以下两种实作方法:
1. call Setupapi.dll, hid.dll, kernal32.dll
2. 使用libusb-win32
1. 想请问各位有使用经验的前辈是否有较推荐的方法?
2. 目前我呼叫SetupDiEnumDeviceInterfaces这个function, 第一关就直接没有回应,
想请教各位前辈, 能否提点小弟错误发生的状况
https://mega.nz/#!EhQl0ZrI!KUdcuqIVvGzi8ab1EQLRALTD-qwYQ03PFYMsn553QhA
https://mega.nz/#!hgRmxb7R!ZK_DHhQCgOdc8DprNuh2yLruojJBEBPALuVFJ9OpNZM
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
int main(int argc, char* argv[]) {
printf("Test Win32 StdAPI\r\n");
int index;
HDEVINFO deviceInfo;
GUID *GUID_CLASS_USB_HOST_CONTROLLER;
PSP_DEVICE_INTERFACE_DATA deviceInfoData;
PSP_DEVICE_INTERFACE_DETAIL_DATA deviceDetailData;
for( index=0;
pm_SetupDiEnumDeviceInterfaces( deviceInfo,
0,
GUID_CLASS_USB_HOST_CONTROLLER,
index,
deviceInfoData);
index++ )
{
//pm_GlobalFree(deviceDetailData);
}
return 0;
}
补充说明(Supplement):
作者: stupid0319 (征女友)   2016-10-16 20:41:00
GetLastError看看
作者: petercoin (彼得币)   2016-10-16 21:08:00
去抓hidapi,里面的enum那部分看一下
作者: stupid0319 (征女友)   2016-10-18 16:39:00
你buffer有8个char,下一行怎么会写9个,这样会溢位吧

Links booklink

Contact Us: admin [ a t ] ucptt.com