STM32f4接收HID数据



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

有一个官方的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是板上的水晶。它取代了单片机上的嵌入式时钟。其他设置与原始配置文件中的值略有不同。以下是不同时钟的计算结果:

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。否则设备将无法被识别。

最新更新