Ce TP est la suite des TP "Premiers pas avec la carte STM32F412G Discovery - parties 1 à 3" dans lesquels nous avons vu :
Dans cette quatrième partie, nous allons voir comment utiliser les GPIO (GPIO, ADC, UART, I2C) du connecteur Arduino de la carte STM32F412G Discovery.
GPIO veut dire "General Purpose Input Output" : Entrées sorties à usage général. Elles peuvent être utilisées comme entrées/sorties numériques (TOR = Tout Ou Rien) afin de par exemple lire l'état d'un bouton ou commander une LED, un moteur, un relais,...
Ouvrir le projet dans CubeMX, dans l'onglet "Pinout", configurer les pattes PG11 et PG13 comme indiqué sur les captures d'écran ci-dessous.
Configurer PG13 en entrée :
Configurer PG11 en sortie :
Résultat obtenu :
Les entrées / sorties peuvent alors être utilisées tel quel. Il est cependant possible d'affiner la configuration selon les besoins en allant dans l'onglet "Configuration" et en cliquant sur "GPIO" :
Dans l'onglet "GPIO", sélectionner successivement "PG11" et "PG13" et leur donner un "Label" : "ARD_D2" et "ARD_D7" :
Ces noms personnalisés sont matérialisés par un "#define" dans le "main.h". Ceci permet ensuite d'utiliser des noms plus explicites dans le programme plutôt que les noms des GPIO : PG11, PG13,...
Pour terminer, cliquer sur le bouton "Generate source code based on user settings" :
Ajouter les morceaux de code encadrés ci-dessous à votre "main" :
Tester le bon fonctionnement.
Le Convertisseur Analogique Numérique (CAN ou DAC en Anglais) permet de transformer une tension analogique en valeur numérique.
Ouvrir le projet dans CubeMX, dans l'onglet "Pinout", activer l'entrée "IN1" de "ADC1" comme indiqué sur la capture d'écran ci-dessous, vous devez voir la patte "PA1" du STM32 passer en vert.
Comme pour les GPIO, le CAN peut alors être utilisé tel quel. Il est cependant possible d'affiner sa configuration selon les besoins en allant dans l'onglet "Configuration" et en cliquant sur "ADC1" :
Pour terminer, cliquer sur le bouton "Generate source code based on user settings" :
Ajouter les morceaux de code encadrés ci-dessous à votre "main" :
Tester le bon fonctionnement.
Ouvrir le projet dans CubeMX, dans l'onglet "Pinout", sélectionner le mode "Asynchronous" de "USART6" comme indiqué sur la capture d'écran ci-dessous :
Par défaut, seule la broche Rx est active, il faut activer manuellement Tx sur PG14 :
Pour terminer, cliquer sur le bouton "Generate source code based on user settings" :
Remplacer simplement "huart2" par "huart6" dans votre "main" :
Tester le bon fonctionnement.