草庐IT

stm32 USB复合设备 cubeMX库一键生成 多路CDC串口 HID鼠标键盘 Composite Device

最近有个需求,需要同时用usb键盘鼠标和虚拟串口等,因为平时没怎么研究过usb协议,所以自己写复合设备一直没有成功,然后正巧在github上看到了一个stm32的一个usb复合设备库,可以快速配置usb组合设备,并且支持超级多路串口Gihub地址https://github.com/alambe94/I-CUBE-USBD-Composite安装在githubrrelease页面下载.pack文件,要是github打不开这里有分享链接库文件CubeMX中选择管理软件包导入刚才下好的.pack文件 启用选择组件选择你需要的Core是必须的,然后你需要哪些功能就需要启用,多设备一定要启用COMPI

javascript - 使用 JavaScript、HTML5 或任何跨平台语言(支持 Android)向 USB HID 写入数据

我用HTML5和JavaScript编写了一个UI。我选择这个实现是为了在AndroidChrome和Windows 8RT之间共享相同的代码。现在,我的下一个目标是将数据写入USBHID。我正在与之通信的设备被视为HID。我提到这部分是为了防止有一种方法可以写入HID设备而不是USBRAW设备。我对这个问题做了很多研究。但是,HTML5规范变化如此频繁,以至于我可能错过了一些东西。**无论如何,是否有一种语言或实现可用于共享通用代码以在Android和Windows8RT上访问USB设备?如果无法在两者之间共享,建议仅在Android上进行USB通信怎么样?**以下是我的研究和结论:

c# - 用于 HID (USB) 的 .NET API?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion.NET(C#)中是否有用于使用USBHID(人机界面)设备的API?

linux - 在 Linux 上从 USB HID 键盘设备获取字符

我有一个连接到Linux的USBHID键盘,我确实看到/dev/input/event0,它返回键盘事件代码,如www.kernel.org/doc/Documentation/input/input.txt中所述。我更愿意像从stdin那样读取字符。我确实看到内核keyboard.c正在执行转换,如evbug的日志消息所示:evbug.c:事件。开发:input0,类型:4,代码:28,值:1...这表明正在将字符馈送到字符设备(tty),但我无法找到与此输入对应的设备文件。我相信像/dev/input/input0这样的文件应该存在,但我没有找到它。我确实看到/proc/bus/i

c++ - 与 HID 交谈

我有一个由PNICorp开发的传感器,称为spacepoint-fusion。我需要用C++与这个设备进行交互,并不断地从设备中读取新数据。当我将设备插入计算机时,我看到/dev/hidraw1和/dev/hidraw2出现了。/dev/usb/hiddev0也出现了。我的问题是我不知道如何读取这些设备。我在网上找不到任何示例或文档。我什至不知道从哪里开始。我一直在寻找libhid和hiddev作为可能的解决方案,但到目前为止,我还不知道如何使用这两个库中的任何一个。那么我如何在linux机器上用c++读取这个人机界面设备?示例将不胜感激。谢谢。 最佳答案

linux - 写一些东西到 linux hid 设备?

我正在学习linuxhid驱动程序编程,我知道如何从hid设备读取消息但是,我很困惑如何向设备写入内容?比如usbhid键盘,我可以用xset或其他一些程序来控制键盘的LED,如何存档?请提供任何提示!提前致谢。 最佳答案 USBHID设备主要是输入设备,因此它们通常不提供OUT端点(HID规范允许它们,但我从未见过)。如果未提供OUT端点,则输出报告将通过控制端点(EP0)发送。URB应该是这样的:bmRequestType=0x21(Toclassinterface)bRequest=0x09(SET_REPORT)wValue

c++ - 如何在 Linux 上使用 Qt 读取 HID 设备 (/dev/hidrawX)?

我正在开发“RepRap校准工具”,它使用连接到打印平台的鼠标来测量平台的移动。现在我无法从/dev/hidrawX读取原始鼠标数据,但我无法读取任何数据。到目前为止我已经尝试过:第一次尝试:QFilef("/dev/hidraw0");f.readAll();什么都不读。第二次尝试:m_file=newQFile("/dev/hidraw0");m_sn=newQSocketNotifier(m_file->handle(),QSocketNotifier::Read);m_sn->setEnabled(true);connect(m_sn,SIGNAL(activated(int)

linux - 需要拦截 HID 键盘事件(然后阻止它们)

我有一个RFIDUSB设备,它注册为HID设备(或多或少是USB键盘)。我正在寻找一种方法来捕获此输入,并在它到达普通键盘事件处理程序之前阻止/过滤它(并将10位RFID代码输出到控制台)。我当然必须只捕获这个设备,并单独留下真正的键盘输入(或传递它)。我最初的想法是在UDEV中阻止设备(因此usbhid/event/kbd内核模块没有绑定(bind)到它)并为这个设备编写我自己的基本驱动程序-但我不知道从哪里开始,或者这是否可行。如果我编写一个事件过滤器模块可以与事件驱动程序保持一致并捕获(然后过滤)适当从RFID单元输入,但让其他一切通过。我想这样的模块不需要太多代码,而且是最实用

android - 使用 Android 与 USB HID 设备通信

我是USB和Android的新手,所以如果我没有清楚地解释自己,请原谅我。我有一个可以在Windows中与之通信的USBHID设备。我正在尝试使用运行Android3.1的AcerIconiaA500平板电脑建立通信。我能够找到设备,枚举它,获取它唯一可用的接口(interface),获取唯一可用的端点(0),并确定它是什么类型的端点(从设备传输中断到主机)。我对USB规范的理解是,所有HID设备都至少需要有一个控制端点(端点0)和一个中断IN端点。但是这里的端点0似乎是interruptIn端点,而不是控制端点。然而,为了让设备枚举,它必须成功地跨控制端点传输其描述符数据。我推断因此

android - 在本地模拟 USB/蓝牙 HID 设备以注入(inject)事件?

是否可以模拟连接到Android的USB或蓝牙设备?我想制作一个能够本地模拟HID设备的应用。我的意思是:该应用程序应该让Android相信连接了USB/蓝牙HID设备。我希望这将允许我的应用程序在全局范围内注入(inject)触摸事件。反正有模拟(虚拟)设备吗?请注意,我并不真正关心设备,我只想使用对HID输入的内置支持。我知道很多人已经询问过触摸事件注入(inject),但这种方法似乎有点不同。我确实不想将它用于测试目的,所以InstrumentationTestCase之类的东西不会有帮助。root设备可能是一种选择,虽然我也可以想象要求我的最终用户手动安装一个专门签名的应用程序