Formations à l'informatique et à l'électronique

Auteur : SD
Créé le : 27-03-2018

Premiers pas avec la carte STM32F412G Discovery - partie 4 - Le connecteur Arduino

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.

Plan du connecteur

STM32F412G-Discovery Brochage Connecteur Arduino

Utiliser les GPIO

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,...

Configuration dans CubeMX

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 :

STM32 CubeMX GPIO Input Entree

Configurer PG11 en sortie :

STM32 CubeMX GPIO Output Sortie

Résultat obtenu :

STM32 CubeMX GPIO configurées entrée et sortie

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" :

STM32 CubeMX GPIO configuration avancée

Dans l'onglet "GPIO", sélectionner successivement "PG11" et "PG13" et leur donner un "Label" : "ARD_D2" et "ARD_D7" :

STM32 CubeMX GPIO configure label

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" :

STM32 CubeMx Generate Code

Code source en C

Ajouter les morceaux de code encadrés ci-dessous à votre "main" :

STM32 GPIO Source Code Langage C

Tester le bon fonctionnement.

Utiliser le Convertisseur Analogique Numérique (CAN)

Le Convertisseur Analogique Numérique (CAN ou DAC en Anglais) permet de transformer une tension analogique en valeur numérique.

Configuration dans CubeMX

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.

STM32 CubeMX ADC

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" :

STM32 CubeMX ADC configuration avancée

Pour terminer, cliquer sur le bouton "Generate source code based on user settings" :

STM32 CubeMx Generate Code

Code source en C

Ajouter les morceaux de code encadrés ci-dessous à votre "main" :

STM32 ADC Source Code Langage C Include


STM32 ADC Source Code Langage C

Tester le bon fonctionnement.

Utiliser l'UART (uart6 du connecteur Arduino)

Configuration dans CubeMX

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 :

STM32 CubeMX UART6 Connecteur Arduino

Par défaut, seule la broche Rx est active, il faut activer manuellement Tx sur PG14 :

STM32 CubeMX UART6 Tx Active Connecteur Arduino


STM32 CubeMX UART6 Tx Active Connecteur Arduino

Pour terminer, cliquer sur le bouton "Generate source code based on user settings" :

STM32 CubeMx Generate Code

Code source en C

Remplacer simplement "huart2" par "huart6" dans votre "main" :

STM32 UART6 Source Code Langage C

Tester le bon fonctionnement.


Vous avez apprécié cet article ? Partagez le !