jjzjj

c++ - 在Mac上读写USB(HID)中断端点

我正在尝试与相当特定的USB设备通信,并同时开发Windows和Mac代码。该设备是具有HID接口(interface)(3类)的USB设备,该设备具有两个端点,一个中断输入和一个中断输出。设备的性质是,仅当从主机请求数据时,才在输入端点上从设备发送数据:主机向其发送数据,设备在其输入中断端点上做出响应。将数据获取到设备(写入)要简单得多...Windows的代码非常简单:我得到了设备的句柄,然后调用ReadFile或WriteFile。显然,许多底层的异步行为已被抽象出来。它似乎工作正常。但是,在Mac上,它有点粘性。我尝试了很多事情,没有一个完全成功,但是下面两件事似乎最有希望..

web与硬件的交互——web hid Api

前端与硬件交互的三个api文档说明webusbApiwebSerialApiwebHidApiwebHidvue技术栈使用webHid原生js使用文档说明好久没有更新文档了,闲下来没事的时候,更新一篇最近开发的一个与硬件交互的文档心得。请注意看下面的描述,可能对你选择哪种开发是比较有用处的该文档主要讲述了,前端开发人员也是可以直接通过一些webApi与硬件进行交互。webSerial(串口,下文中说到的串口,就是这个Api)与webHid(hid,同串口一样,下文用hid替代)这两个Api是基于webUsb进一层的封装,这些都是网页封装好的,只需要知道,现在与硬件交互的有这三种Api即可。串口

USB HID键盘实现全键无冲解析

目录前言设备描述符配置描述符配置描述符接口描述符HID描述符端点描述符HID类报表描述符输入输出数据解析其他前言    看了稚辉君的瀚文键盘的源码之后对于键盘全键无冲的实现还是存在很多疑问。1、HID报表描述符的内容到底什么意思?2、瀚文源码里的键值映射函数最终生成的报表不理解。然后就从头开始研究了一下USB。对着描述符里的每一个参数找资料,把所有描述符都对一遍。现在已经大概理解了全键无冲键盘的配置方式和报表含义。    实践选用的是沁恒的CH573F,这颗芯片支持USB2.0Host和Device,支持最大64字节数据包。在官网下载他们的官方Demo,并在USBDevice里面找到Compo

STM32。USB HID,如何发送标准键盘的按键报告?

我们要求STM32芯片的usb和windows电脑的USB接口进行连接,然后STM32芯片发送usb数据给windows电脑,实现电脑上按下一个f按键的效果。下面开始操作:使用STM32CubeMX生成代码,先选择对应的usb口然后选择第三方软件,选择HID然后点击生成代码,这时候就会生成usbd_hid.c相关的代码。并且默认生成的是鼠标设备的代码。代码中自动生成了usb设备初始化MX_USB_DEVICE_Init();这个初始化会初始化usb句柄hUsbDeviceFS。初始化之后,可以调用接口发送usb设备报告。例如:先定义变量,以及外部引用usb句柄uint8_tCmdOutBuf[

java - 写入 HID 键盘适用于 Linux 但不适用于 Windows

我试图通过我的Java程序向它发送HID数据包来设置我的RGB键盘的LED,找到JavaHIDAPI包装器here.到目前为止,我已经取得了成功,但仅限于我的Linux笔记本电脑。当我尝试在Windows上运行代码时,出现错误“无效函数”,我假设它等同于系统错误0x1,ERROR_INVALID_FUNCTION.这段示例代码不会在Windows上运行,但会在Linux上运行。(当它从终端运行并在命令前加上“sudo”时。)//Deviceisfoundpriortothis...if(device!=null){device.disableBlocking();//Initialis

windows - 多个 HID 输入报告

我声明了两个输入报告(短报告为64B,长报告为128B),数据包大小为64B中断端点。读取空头报告时,USB分析器显示正在传输的空头报告的预期字节数(64B),但ReadFile提示我的缓冲区无效(尽管它足够大并且numberOfBytesToRead=64)。如果我对短报告的numberOfBytesToRead参数使用长报告大小,ReadFile不会提示,但这是无用的,而且显然是错误的。我怎样才能解决这个问题?我在数据包大小中使用了中断端点的倍数来简化事情;如果我的报告不是倍数会怎样?我读到我需要在短报告的末尾使用ZLP或短数据包,因为HID驱动程序需要最长的报告。所以这可能是问题

iOS USB HID编程

我正在尝试编写一些关于USBHID设备的代码。我找到了anarticle关于使用GameKitFramework的蓝牙编程.现在我正在寻找一些教程或一些代码来通过USB连接HID设备。我应该在哪里看?GameKit是正确的方法吗?iOS与HID设备的通信难吗? 最佳答案 实际上我刚刚发现您可以使用MFiprogram为外部设备开发.描述得很好here.还有Apple的一些技术信息documentation.但我真的不知道那是什么意思...? 关于iOSUSBHID编程,我们在StackO

android - 连接到特定的 HID 配置文件蓝牙设备

我将蓝牙条码扫描仪连接到我的安卓平板电脑。条形码扫描仪作为输入设备与Android设备绑定(bind)-HID配置文件。它在系统蓝牙管理器中显示为键盘或鼠标。我发现蓝牙配置文件输入设备类存在但被隐藏了。class和btprofile常量在android文档中有@hide注释。隐藏类:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3.1_r1/android/bluetooth/BluetoothInputDevice.java这里它们也应该是其他3个常量dev

Android USB HID 在 bulktranfer 周围声明和发布接口(interface)是否必要?

我现在正在从AndroidUSBHID主机与设备进行通信。我在同一个界面中有一个读取端点和一个写入端点。在我做的Android主机上UsbInterfaceIntf=_usbDevice.getInterface(0);UsbEndpointEp=Intf.getEndpoint(1);UsbDeviceConnectionConnection=_usbManager.openDevice(_usbDevice);Connection.claimInterface(Intf,true);Connection.bulkTransfer(Ep,data,data.length,0);Con

android - 我可以使用 Android 设备读取 HID iClass 卡吗?

是否可以使用AdvancedNFCAPIGuide中描述的方法读取HIDiClass卡?? 最佳答案 如果卡支持NFC-V(ISO-15693)技术,您应该能够与卡通信。更新:iClass卡使用与ISO-15693不同的协议(protocol)。所以,我相信android设备不支持iClass,截至这篇文章。 关于android-我可以使用Android设备读取HIDiClass卡吗?,我们在StackOverflow上找到一个类似的问题: https://s