找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

N9h20k51N HID 通讯

[复制链接]
跳转到指定楼层
楼主
匿名  发表于 2025-5-7 18:47:44 |只看大图 回帖奖励 |倒序浏览 |阅读模式
有没有N9H20K51N的 usb相关的例子,我再官方提供的例程包中只有mouse和keyboard相关的例程,但是这种只是单方面上报。我想将设备作为一个HID设备,然后和windows双向通讯的例程。能过够发送数据和接手数据,自己试过,但是初始化老是失败
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具

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

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

hid-busHound.png
回复 支持 反对

使用道具

板凳
arthur 发表于 5 天前 | 只看该作者
N9H20 BSP提供了USB HID范例,请参考:
https://github.com/OpenNuvoton/N ... BSP/SampleCode/USBD
回复 支持 反对

使用道具 举报

地板
匿名  发表于 3 天前
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, 下载次数: 14)

hid-bulk.png
回复 支持 反对

使用道具

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

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

HID.rar

6.09 KB, 下载次数: 18

回复 支持 反对

使用道具

6#
匿名  发表于 前天 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, 下载次数: 13)

HS.exe工具发送

HS.exe工具发送

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

busHound 发送64byte

busHound 发送64byte
回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU