牛卧堂MCU技术交流

标题: N9h20k51N HID 通讯 [打印本页]

作者: 匿名    时间: 2025-5-7 18:47
标题: N9h20k51N HID 通讯
有没有N9H20K51N的 usb相关的例子,我再官方提供的例程包中只有mouse和keyboard相关的例程,但是这种只是单方面上报。我想将设备作为一个HID设备,然后和windows双向通讯的例程。能过够发送数据和接手数据,自己试过,但是初始化老是失败

作者: 匿名    时间: 2025-5-8 15:39
这里提供我的报告描述符和初始化函数。还有BUS Hound抓包 HID_Communication.rar (5.17 KB, 下载次数: 163)

hid-busHound.png (45.48 KB, 下载次数: 149)

hid-busHound.png

作者: arthur    时间: 2025-5-13 11:14
N9H20 BSP提供了USB HID范例,请参考:
https://github.com/OpenNuvoton/N ... BSP/SampleCode/USBD
作者: 匿名    时间: 2025-5-15 16:45
arthur 发表于 2025-5-13 11:14
N9H20 BSP提供了USB HID范例,请参考:
https://github.com/OpenNuvoton/N9H20_NonOS_BSP/tree/master/BSP/ ...

多谢,我之前拿到的好像是旧的包,只有一个mouse,虚拟串口的工程,没有HID_transfer的示例工程。
我测试了HID_transfer的工程,失败了,用busHound的抓包,在初始化后会报一个c0010000  canceled的报错,然后没办法通过bushound发送数据到设备一直显示函数不正确。

我将端点的模式改为bulk in和bulk out,这时候能初始化,也能发送数据。但是如果停止工作一段时间后,host发送一个set idle信号,然后设备就没办法唤醒了,不知道该怎么去唤醒,或者说怎么在收到idle信号后,避免进入沉睡状态

下面是我HID_transfer例程改成bulk模式的busHound抓包数据

hid-bulk.png (66.88 KB, 下载次数: 126)

hid-bulk.png

作者: 匿名    时间: 2025-5-15 16:49
游客 113.104.237.x 发表于 2025-5-15 16:45
多谢,我之前拿到的好像是旧的包,只有一个mouse,虚拟串口的工程,没有HID_transfer的示例工程。
我测试 ...

附上HID_Transfer更改后的hid.c文件

HID.rar

6.09 KB, 下载次数: 146


作者: 匿名    时间: 2025-5-16 15:13
游客 113.104.237.x 发表于 2025-5-15 16:45
多谢,我之前拿到的好像是旧的包,只有一个mouse,虚拟串口的工程,没有HID_transfer的示例工程。
我测试 ...

不好意思,是我的问题。
昨天在测试的时候,用了HID_HidTool_FS.exe,没有按照手册上调用HID_HidTool_HS.exe 去读取或者写入一些参数。
目前HID_HidTool_HS.exe测试一切正常。和手册上的数据一样。

不过有个问题请教。usb的full_speed和High_speed不能自动切换吗?
我自己在利用busHound手动发送64byte数据的时候,该怎么调整为High_speed模式下发送?

busHound 手动发送64Byte:

切换HS工具发送:

hid-highspeed.png (229.53 KB, 下载次数: 122)

HS.exe工具发送

HS.exe工具发送

手动发送.png (171.38 KB, 下载次数: 118)

busHound 发送64byte

busHound 发送64byte





欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2