简体   繁体   中英

STM32f4 HID receive data

How to receive OUT report data from HOST PC in STM32f407 discovery board running as HID(USB) in device mode? Is it possible? I am thinking to send data from host using hidapi.

There is an official USB library. It is not easy, but you may try to run the examples and adapt them to your needs. http://www.st.com/en/embedded-software/stsw-stm32046.html

Be careful with clock settings. I experienced problems with that. Here are the values I setup in system_stm32f4.c:

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

HSE is the crystal on the board. It replaces the embedded clock on the MCU. The other settings are slightly different from the values in the original configuration file. Here are the calculations of the different clocks:

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

The “USB OTG FS” clock HAS to be >= 48MHz if you use USB FS. Otherwise the device won't be recognized.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM