stm32 usb多媒体键盘

2019-07-20 20:59发布

求一个STM32 作为一个usb 多媒体键盘设备的例程
我自己写了点,也不知道为什么不行?
报告描述符:
0x05,   0x0C,   /*UsagePage(Consumer)*/
    0x09,   0x01,   // Usage (Consumer Control)
    0xA1,   0x01,        /*Collection (Application)*/
    0x85,   0x01,   // Report Id (1)
   
    0xA1,   0x02,   //   Collection (Logical)
    0x09,        0xE9,   /*Usage(Volume Increment)*/
    0x09,        0xEA,   /*Usage(Volume Decrement)*/
    0x09,   0xE2,   /*Usage(mute)*/
   
    0x15,   0x00,   /*Logical Min(0)*/
    0x25,   0x02,   /*Logical Max(2)*/
    0x75,   0x01,   /*Report Size (1)*/
    0x95,   0x03,   /*Report Count(3)*/
    0x81,   0x02,   /*Input (Data, Var,Abs)*/
  
   
    0x75,   0x01,   /*Report Size (1)*/
    0x95,   0x05,   /*Report Count(5)*/
    0x81,   0x01,   /*Input (constant)*/
    0xC0,         //   End Collection
    0xC0        // End Collection

在test.c里,有按键按下就发送report
     if(key)
        {
            if(key==KEY0_PRES)      
            {
                report=0x40;
            }else if(key==KEY2_PRES)
            {
                report=0x80;
            }
            USBD_HID_SendReport(&USB_OTG_dev,(uint8_t *)&report,2);
            delay_ms(20);
            report=0x00;
            USBD_HID_SendReport(&USB_OTG_dev,(uint8_t *)&report,2);
        }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。