STM32f4 HID接收数据

时间:2016-09-10 18:35:12

标签: usb stm32 hid stm32f4discovery hidapi

如何在设备模式下作为HID(USB)运行的STM32f407发现板中从HOST PC接收OUT报告数据? 可能吗? 我正在考虑使用hidapi从主机发送数据。

1 个答案:

答案 0 :(得分:1)

有一个官方的USB库。这并不容易,但您可以尝试运行示例并根据您的需求进行调整。 http://www.st.com/en/embedded-software/stsw-stm32046.html

小心时钟设置。我遇到了问题。以下是我在system_stm32f4.c中设置的值:

HSE = 8000000
PLL_M = 8
PLL_Q = 7
PLL_N = 336
PLL_P = 4

HSE是板上的水晶。它取代了MCU上的嵌入式时钟。其他设置与原始配置文件中的值略有不同。以下是不同时钟的计算:

PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
= 8000000 / 8 * 336 = 336000000

USB OTG FS, SDIO and RNG Clock =  PLL_VCO / PLLQ
= 336000000 / 7
= 48000000

SYSCLK = PLL_VCO / PLL_P
= 336000000 / 4
= 84000000

HCLK = SYSCLK / 1
= 84000000

PCLK2 = HCLK / 1
= 84000000

PCLK1 = HCLK / 2
= 84000000 / 2
= 42000000

如果使用USB FS,“USB OTG FS”时钟必须> = 48MHz。否则设备将无法识别。