2016-09-10 3 views
0

Comment recevoir les données de rapport OUT du PC HOST dans la carte de découverte STM32f407 fonctionnant en mode HID (USB) en mode périphérique? Est-ce possible? Je pense envoyer des données de l'hôte en utilisant hidapi.STM32f4 HID recevoir des données

Répondre

1

Il existe une bibliothèque USB officielle. Ce n'est pas facile, mais vous pouvez essayer d'exécuter les exemples et les adapter à vos besoins. http://www.st.com/en/embedded-software/stsw-stm32046.html

Faites attention aux réglages de l'horloge. J'ai eu des problèmes avec ça. Voici les valeurs que je configure dans system_stm32f4.c:

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

HSE est le cristal sur la carte. Il remplace l'horloge intégrée sur le MCU. Les autres paramètres sont légèrement différents des valeurs du fichier de configuration d'origine. Voici les calculs des différentes horloges:

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 

L'horloge « USB OTG FS » doit être> = 48MHz si vous utilisez FS USB. Sinon, l'appareil ne sera pas reconnu.