打印
[技术问答]

nuc980使用usb gadget hid功能和pc电脑通信问题

[复制链接]
476|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
probedog|  楼主 | 2024-12-13 11:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
nuc980使用usb0作为从机,在linux内核驱动中开启gadget hid功能,从机需要和pc上位机进行大数据量(1k)通信时,从机每发一包(一个packet 8字节),必须延时50ms以上,不然上位机会丢失部分信息,用usb bus hound抓包工具查看,如果监控了从机设备号usb input device数据是没问题,但是Hid-compliant device数据就丢失了。我自己尝试改了linux内核里面hid.c文件
static struct usb_composite_driver hidg_driver = {
        .name                = "g_hid",
        .dev                = &device_desc,
        .strings        = dev_strings,
        .max_speed        = USB_SPEED_FULL,//by zl
        .bind                = hid_bind,
        .unbind                = hid_unbind,
};

把高速改成全速,但是好像没起到作用,设备信息里还是高速。请问,从机一次性需要把许多数据发给上位机,每发一个packet必须长时间延时,这是什么原因导致的。

使用特权

评论回复
沙发
huangcunxiake| | 2024-12-13 14:43 | 只看该作者
有没有调试设备,看看那个延时是什么导致的在哪儿停下来了

使用特权

评论回复
板凳
riplay| | 2024-12-13 16:46 | 只看该作者
用usb bus hound抓包是,数据是否正确呢?如果正确应该是主机端的应用接收数据有遗漏。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

393

主题

2180

帖子

3

粉丝