你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【我爱DIY】基于stm32f103c8t6+mpu9250的姿态解算单元

[复制链接]
Stm32McuLover 发布时间:2017-8-15 19:37



stm32cubemx越来越方便了,之前用nucleo-f767做个了usb复合设备,键盘、鼠标、游戏摇杆的复合体https://www.stmcu.org.cn/module/forum/thread-610675-1-1.html,可以模拟多个设备,这样做个usb键盘就可以全键无冲了,usb协议设计之初坑爹了 一把,导致一般的usb键盘无法做到全键无冲。

别问我为什么要同时按那么多按键

nucleo的st-link关键时刻很给力,手头一时没有其他的仿真器。

IMG_20170815_192251_HHT.jpg


这个家伙可不便宜,那个邮票空的是92大洋的mpu9250模块,模块集成了姿态解算,彻底解决了Yaw漂移问题,通过串口输出,arduino也可方便的连接了。

配置就很简单了,把usb配成hid设备。自己在usbd_custom_hid_if.c加个报告描述符,告诉电脑你是啥。

上个usb键盘的报告:
  1. 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
  2. 0x09, 0x06, // USAGE (Keyboard)
  3. 0xa1, 0x01, // COLLECTION (Application)
  4. 0x05, 0x07, //     USAGE_PAGE (Keyboard/Keypad)
  5. 0x19, 0xe0, //     USAGE_MINIMUM (Keyboard LeftControl)
  6. 0x29, 0xe7, //     USAGE_MAXIMUM (Keyboard Right GUI)
  7. 0x15, 0x00, //     LOGICAL_MINIMUM (0)
  8. 0x25, 0x01, //     LOGICAL_MAXIMUM (1)
  9. 0x95, 0x08, //     REPORT_COUNT (8)
  10. 0x75, 0x01, //     REPORT_SIZE (1)
  11. 0x81, 0x02, //     INPUT (Data,Var,Abs)
  12. 0x95, 0x01, //     REPORT_COUNT (1)
  13. 0x75, 0x08, //     REPORT_SIZE (8)
  14. 0x81, 0x03, //     INPUT (Cnst,Var,Abs)
  15. 0x95, 0x06, //   REPORT_COUNT (6)
  16. 0x75, 0x08, //   REPORT_SIZE (8)
  17. 0x25, 0xFF, //   LOGICAL_MAXIMUM (255)
  18. 0x19, 0x00, //   USAGE_MINIMUM (Reserved (no event indicated))
  19. 0x29, 0x65, //   USAGE_MAXIMUM (Keyboard Application)
  20. 0x81, 0x00, //     INPUT (Data,Ary,Abs)
  21. 0x25, 0x01, //     LOGICAL_MAXIMUM (1)
  22. 0x95, 0x02, //   REPORT_COUNT (2)
  23. 0x75, 0x01, //   REPORT_SIZE (1)
  24. 0x05, 0x08, //   USAGE_PAGE (LEDs)
  25. 0x19, 0x01, //   USAGE_MINIMUM (Num Lock)
  26. 0x29, 0x02, //   USAGE_MAXIMUM (Caps Lock)
  27. 0x91, 0x02, //   OUTPUT (Data,Var,Abs)
  28. 0x95, 0x01, //   REPORT_COUNT (1)
  29. 0x75, 0x06, //   REPORT_SIZE (6)
  30. 0x91, 0x03, //   OUTPUT (Cnst,Var,Abs)
复制代码


直接拷贝到CUSTOM_HID_ReportDesc_FS里面的/* USER CODE BEGIN 0 */ 和 /* USER CODE END 0 */ 之间就可以用了。


搜狗截图20170815192617.png

收藏 评论1 发布时间:2017-8-15 19:37

举报

1个回答
anny 回答时间:2017-8-16 09:13:03
多谢分享

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版