HID接口设备-简介

HID是USB常用设备类型,如键盘、鼠标等,成本低,不一定要有人机交互功能。Windows操作系统支持HID设备,设计USB外部设备时选HID类型可省驱动编写。数据存于报表结构,传输灵活,设备可主动传信息,主机定时轮询,传输速度有限制,还给出规范文件下载地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

  1. HID(Human Interface Device,人机接口设备)是 USB 设备中常用的设备类型,是直接与人交互的 USB 设备,例如键盘、鼠标与游戏杆等。在 USB 设备中,HID 设备的成本较低。另外,HID 设备并不一定要有人机交互功能,只要符合 HID 类别规范的设备都是HID 设备。
  2. Wndows操作系统最先支持的HID设备。在windows 98以及后来的版本中内置有 HID设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。在设计一个 USB 接口的计算机外部设备时,如果 HID 类型的设备可以满足需要,可以将其设计为 HID 类型设备,这样可以省去比较复杂的 USB 驱动程序的编写,直接利用Windows 操作系统对标准的 HID 类型 USB 设备的支持

简介

  1. 交换的数据储存在称为报表(Report)的结构内,设备的固件必须支持 HlD 报表的格式。主机通过控制和中断传输中的传送和请求报表来传送和接收数据。报表的格式非常灵活
  2. 每一笔事务可以携带小量或中量的数据。低速设备每一笔事务最大是 8B,全速设备每一笔事务最大是 64B,高速设备每一笔事务最大是 1024B。一个 报表可以使用多笔事务。
  3. 设备可以在未预期的时间传送信息给主机,例如键盘的按键或是鼠标的移动。所以主机会定时轮询设备,以取得最新的数据。
  4. HID 设备的最大传输速度有限制。主机可以保证低速的中断端点每 10ms 内最多 1笔事务,每一秒最多是 800B。保证全速端点每 lms 一笔事务,每一秒最多是64000B(62.5kb/s)。保证高速端点每 125 us 三笔事务,每一秒最多是 24.576MB。
  5. HID 设备除了传送数据给主机外,它也会从主机接收数据。只要能够符合 HlD 类别规范的设备都可以是 HID 设备
  6. 设备除了 HlD 接口之外,它可能同时还包含有其他的 USB 接口。例如影像显示设备可能使用 HID 接口来做亮度、对比度的软件控制,而使用传统的影像接口来传送要显示的数据。USB 扩音器可以使用实时传输来播放语音,同时使用 HID 接口来控制音量、低音等。
  7. 数据。USB 扩音器可以使用实时传输来播放语音,同时使用 HID 接口来控制音量、低音等。HID 类别设备的规范文件主要是以下两份:
    1>. Device Class Definition for Human interface Devices
    2>. HID Usage Tables
    3>. 其中前者是 HID 的基本规范文件,后者可以是前者的附件,为开发人员提供实际的控制类型的描述。文件是用来定义让主机了解以及使用 HID 数据的数值。这两份文件是由USB Device Working Group 制定的,可以在网址 http://www.usb.org/developers/hidpage/#Class _Definition 下载。
### 使用Python实现批量Excel文件中文字内容的自动翻译 为了完成这一任务,可以采用`pandas`库来处理Excel文件,并使用像`googletrans`这样的API来进行翻译工作。下面是一个详细的解决方案。 #### 准备环境 安装必要的包: ```bash pip install pandas googletrans==4.0.0-rc1 openpyxl xlrd ``` #### 编写代码逻辑 创建一个Python脚本来遍历指定目录下的所有Excel文件,读取特定列的内容并调用Google Translate API将其转换为目标语言(这里假设目标语言为英文),最后保存修改后的数据回原位置或其他路径下: ```python import os from pathlib import Path import pandas as pd from googletrans import Translator def translate_excel_files(directory, column_name='A'): translator = Translator() # 遍历给定目录中的每一个Excel文件 for file_path in Path(directory).glob('*.xlsx'): df = pd.read_excel(file_path) try: translated_column = [] # 对每一行的数据进行翻译操作 for text in df[column_name]: result = translator.translate(text, dest='en') translated_column.append(result.text) # 将翻译后的新列表赋值给新的DataFrame列 df[f'Translated_{column_name}'] = translated_column output_file = f"{file_path.stem}_translated.xlsx" df.to_excel(output_file, index=False) except Exception as e: print(f"Error processing {file_path}: ", str(e)) if __name__ == '__main__': directory = './excels/' # Excel 文件所在的文件夹路径 column_name = 'B' # 要翻译的那一列的名字或索引字母 translate_excel_files(directory, column_name) ``` 这段程序能够有效地自动化整个过程,从而极大地提高了工作效率[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值