USB HID 数据流-从波形来看


无监听时
	会有每毫秒1次的Keep-alive
有监听时无鼠标数据时
	每毫秒1次的  keep-alive
	每8毫秒1次的 IN数据 请求序列1
		// 这个  8 应该是 https://blog.csdn.net/u011011827/article/details/128050613
		// usbhid_start 中的 interval , 被 usb_fill_int_urb 用到,填充了 urb

监听时,按了一下鼠标左键(没有弹起)
	每毫秒1次的  keep-alive
	每8毫秒1次的 IN数据 请求序列1
	鼠标左键按下对应 : 3"每8毫秒1次的 IN数据 请求序列2"
	
Keep-alive

在这里插入图片描述

IN数据 请求序列1

在这里插入图片描述

IN数据 请求序列2
  • 连续3个序列
    每个序列后都有中断
    在这里插入图片描述
    在这里插入图片描述

  • 24 & 24 & 26
    在这里插入图片描述

  • 27 & 28 & 29
    在这里插入图片描述

  • 30 & 31 & 32
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
USB HID(Human Interface Device)是一种USB设备类别的通信协议,用于连接人机界面设备,例如键盘、鼠标、游戏手柄等。USB HID数据通信例程是指在基于USB HID协议的设备上,进行数据通信的代码示例。 USB HID数据通信例程的实现通常包括以下步骤: 1. 初始化:在程序开始之前,需要进行USB接口的初始化工作。这包括打开USB端口、设置设备的属性和功能等操作。 2. 数据传输:通过USB HID协议,设备和主机之间可以进行双向的数据传输。例程中会定义数据的格式和传输的方式,例如定义数据报文的结构、长度等,并通过USB接口进行数据的发送和接收。 3. 中断处理:当设备接收到数据或者有其他事件发生时,会触发中断请求。在例程中,需要编写中断处理函数,对中断请求进行相应的处理。例如,当接收到数据时,可以将数据写入缓冲区,并通知主程序进行相应处理。 4. 状态处理:USB设备和主机之间有一系列的状态变化,需要在例程中进行相应的处理。例如,当设备被插入或拔出时,需要检测设备的连接状态并进行相应的操作。 5. 错误处理:在USB HID数据通信过程中,可能会遇到一些错误或异常情况,例如传输错误、超时等。在例程中,需要进行相应的错误处理,例如重新尝试传输、重新连接等。 USB HID数据通信例程的编写需要遵循USB HID协议规范,并根据具体设备的需求进行相应的定制。编写一个稳定可靠的USB HID数据通信例程需要考虑到各种情况,确保数据的准确传输和设备的稳定运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值