
本帖最后由 哈佛祖安智 于 2016-6-2 14:06 编辑 一直比较忙,后面闲下来,我会陆续的补上笔记。今天先来第一篇,如何使用CubeMX配置USB HID来实现键盘。 step1:根据STM32的数据手册知道,PA12为USB_DP,PA11为USB_DM,参考一下USB物理层规范,我的连接图如下。 ![]() ![]() ![]() step2:使用CubeMX配置USB HID设备,如图所示:一步步来好了。 然后生成project即可,我这里用的是keil,生成的工程编译下载后是不能正确运行的,我们需要配置USB HID报告描述符,在usbd_custom_hid_if.c文件里面,如下图: ![]() ![]() ![]() ![]() ![]() step3:添加报告描述符后重新编译下载,测试OK。如图: 这里吐槽一下,CubeMX确实很好用,但是还有些问题的,比如USB报告描述符需要用填充,但其数组buffer的长度宏定义#define USBD_CUSTOM_HID_REPORT_DESC_SIZE 74确是在user code以外,这样每次重新生成了又得改。DMA SDIO驱动SD卡库函数也有bug,下次放出讨论。文件太大,就给出c文件好了,修改好的USBHID键盘报告描述符在usbd_custom_hid_if.c ![]() |
支持一个![]() ![]() ![]() ![]() |
STM32如何分配原理图IO
STM32ADC过采样及几种ADC采样的处理方法
分享一个STM32L031的串口调试程序
基于STM32L051使用CubeMX生成工程文件ST系列芯片通用经验分享
基于STM32L051开始添加需要的代码经验分享
STM32L051测试I2C协议设备的添加经验分享
基于STM32L051测试Flash和EEPROM的读写
基于STM32L051串口测试与Enocean模块通讯问题
基于STM32L0的EEPROM读写经验分享
基于STM32L0 ADC使用HAL库关于校准问题经验分享