Xeta8 2023-10-12 18:31 采纳率: 30.8%
浏览 4

STM32自制了一个HID USB键盘与LINUX通讯不正常

通过stm32检测键盘按下,并通过USB发送按键信息,和WINDOWS电脑连接后一切功能正常,但是和JETSON的linux系统连接时,只有开机后的一段时间内键盘能够正常使用,之后即使重新拔插USB也无法使用键盘,命令lsusb依旧可以查看到设备信息,但是没有数据包传输。
并且,即使在开机时没有将键盘与JETSON连接,而在开机一段时间后再将usb插入jetson,依旧无法使用键盘,而在开机内短时间插入就可以正常使用,但过一小段时间也无法正常使用。而市面上的其他键盘就没有这些问题,在windows上和在linux上都可以正常使用。

求问如何解决这个问题,感谢!

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-12 18:41
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    这个问题可能是由于Jetson的USB驱动与STM32的USB通信协议不兼容导致的。以下是一些可能的解决方案:

    1. 检查Jetson的USB驱动版本和配置。确保使用的是最新的驱动程序,并且已正确配置以支持HID设备。

    2. 检查STM32的USB代码。确保STM32的USB代码完全符合HID设备的标准,特别是在数据包传输方面。

    3. 检查USB线缆和连接。确保USB线缆和连接可靠,没有松动或损坏。

    4. 尝试使用其他的USB设备进行测试。如果使用其他的USB设备在Jetson上正常工作,那么问题很可能是由于STM32的USB代码或硬件问题引起的。

    5. 调试STM32的USB通信。使用USB协议分析工具来监视STM32与Jetson之间的USB通信,了解是否存在任何通信错误或不兼容的问题。

    6. 尝试使用流行的HID键盘的驱动。如果其他的HID键盘在Jetson上可以正常工作,那么尝试将STM32的HID设备模拟成其中一个键盘,并使用相应的驱动。

    如果以上方法都没有解决问题,可能需要进一步的调试和分析以找到根本原因。可以使用更高级的调试工具,如逻辑分析仪或示波器,来检查USB通信的细节。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月12日

悬赏问题

  • ¥15 创建一个数据库(要创建的表和记事本的代码截图))
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口