hw : lpc1549 eval board with usb hid test firmware ...
端点大小 64 字节端点 intr 读取 out-report buf 并以十六进制显示 len 和数据 ...将 out_report 复制到 in_report buf 并使用 write funct 和 len 回显
主持人 :
使用 qt5、libusb-1.0.19wingw32 dll 和 hidapi 代码
隐藏测试代码在 linux、win7 和 win8.1 中成功发出所有 api 调用(写入和读取除外)
测试代码问题 hid_write 后跟 hid_read 并在 linux 中正确获取数据
我没有使用 hidapi hid_write 强制标记的报告 ID,因为 nxp 固件和 keil 软件不使用它(据我所知)......我的 linux sw 发送和接收定义的 64 字节模式或更小len) 正确,并且字节 [0] 是此模式的一部分...输出和输入字节 [0] 数据故意不同且正确接收
在 windows 下运行 keil hid 客户端成功与 lpc1549 固件正确通信,即使它们只传输和回显一个字节......
我的固件将端点大小更改为 64 字节(我希望我的更改是正确的)并且 keil hid 客户端在 Windows 中使用它,所以我的假设是我的描述符是正确的......希望
主机 sw kububtu 14.04 hid_write len = 17,设备收到 17 个字节,17 个字节指示已收到...一切似乎都正常工作
win 8.1 hid_write len = 17 bytes 的主机 sw 显示在设备上,16 个字节正确,其余为 0,但读取表明接收到的 len 为 64 ...我发出了 17 的写入,正确接收了 16,但是被指示为 64 收到也赢得 8.1 抛出一个空白的 system32/cmd 提示窗口...为什么???
同样在win7上挂起,只有一个hid_write len = 0成功......弹出相同的cmd提示......收到len = 64,但没有传输数据(因为它对len = 0有意义)
我不能单步或断点,因为 qt 调试器在应用程序加载时出现段错误
我还在我的 qt 应用程序中链接到 hidapi“windows/hid.c”代码,它现在是我的代码的一部分
对不起我相当复杂的描述
如果报告 ID 没有被使用,为什么它是强制性的……这将浪费一个字节,如果需要 uint32_t 对齐,这将浪费大约 64 字节数据的 7%
为什么用c ++ msvs编写的keil hid客户端与我的fw和hidapi不能正常工作
keil hid 客户端的功能是否表明我的 fw 和我的描述符和报告 len 是正确的
什么会导致弹出一个空的cmd提示?
我可能做错了什么(整个基于 hidapi 的应用程序正在与完整的基于 USB 的固件 pgm 正确通信,而不仅仅是描述的测试代码)?