2014-11-06 110 views
0

我使用stm32F0RBT6微控制器制作USB键盘。我想从PC接收大写锁定和滚动锁定LED的数据。我需要发起一个像这些回调功能吗?USB键盘DataOut回调函数和RxReady回调

static uint8_t USBD_HID_EP0_RxReady (USBD_HandleTypeDef *pdev); 
static uint8_t USBD_HID_DataOut (USBD_HandleTypeDef *pdev, uint8_t epnum); 

有关接收数据的任何帮助将不胜感激。谢谢。

+0

您是否使用ST标准库和ST USB库? – 2014-11-06 18:32:36

+0

是的... m使用标准库..但它不工作..没有线索确实 – istiaq2379 2014-11-09 14:55:38

回答

0

一个USB键盘使用USB class HID(人机接口设备),规格可以找到here。 LED的状态通过set_report消息进行设置,该消息通过也是端点0(EP0)的设置端点(也称为文档中的默认端点)传输。

用于键盘的报告格式可以在说明书(第59页)中找到。

因此,您需要使用回调函数USBD_HID_EP0_RxReady并解析您收到的set_report消息。

+0

我试过这种方式...但我没有得到任何DataOut或RxReady中断。在设置中,我还提出了一个案例:设置报告。我调试了它。但仍然没有改变。我的微控制器被识别为键盘。问题在于DataOut和RxReady。 @Étienne – istiaq2379 2014-11-11 08:52:14

+0

解析设置的报告听起来不同。你能帮我解答一下建议吗?谢谢。 @艾蒂安 – istiaq2379 2014-11-11 10:56:53