Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
et de la recherche scientifique
École centrale polytechnique privée
Contenu :
TP1 : Prise en main du logiciel Keil µVision .......................................................................................... 2
TP2 : Manipulation des ports d’entrée-sortie (GPIO) de la carte STM32F429-DISCOVERY .............. 4
TP3 : Configuration et manipulation de l’afficheur LCD via le bus SPI ................................................ 7
TP4 : Conception et ajout d’une interface graphique sur l’afficheur LCD ........................................... 10
TP5 : Configuration et manipulation de l’écran tactile via le bus I2C .................................................. 12
TP6 : Lecture des données à partir de périphérique de stockage USB .................................................. 13
I. Objectifs:
- Maîtriser l’environnement de développement Keil µVision v5.
- Savoir développer, compiler, déboguer et charger un programme développé sous Keil
µVision.
2
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
3
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
1. Objectifs :
Savoir utiliser la librairie CMSIS (Cortex Microcontroller Software Interface Standard pour
manipuler les ports d’entrée-sortie GPIO (General Purpose Input Output) de la carte
STM32F429-DISCOVERY.
4
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
5
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
Annexe:
HAL_GPIO_WritePin(GPIO_TypeDef * GPIOx, uint16_t GPIO_PIN,
GPIO_PinState PinState)
Function description: Sets or clears the selected data port bit.
Parameters:
GPIOx: where x can be (A..K) to select the GPIO peripheral for STM32F429X.
GPIO_Pin: specifies the port bit to be written. This parameter can be one of
GPIO_PIN_x where x can be (0..15).
PinState: specifies the value to be written to the selected bit.
This parameter can be one of the GPIO_PinState enum values:
- GPIO_PIN_RESET: to clear the port pin
- GPIO_PIN_SET: to set the port pin
Return values: None
6
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
I. Objectifs :
Savoir configurer le système d’exploitation temps réel (RTOS) RTX pour afficher des textes
sous l’afficheur LCD intégré dans la carte STM32F429.
L’écran LCD est connecté au microcontrôleur STM32F429 via une interface RGB de haute
vitesse. Pour configurer l'affichage, on utilise le bus de données série SPI (Serial Peripheral
Interface) qui est connecté à l'interface SPI5 de l'appareil.
Interfaces: RGB (en rouge), SPI (en bleu) et I2C (en vert).
7
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
8
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
III. Configurations
1. Créer un nouveau projet TP3 (voir TP1).
2. Ouvrir la fenêtre Manage Run-Time Environment et sélectionner :
- Graphics → Core.
- Graphics Display → STM43F429I-Discovery.
IV. Applications
1. Dans fichier source GUI_SingleThread.c utiliser la fonction prédéfinie void
GUI_DispString (const char * s)pour afficher le message "Hello World!"
sur l’écran de la carte (voir le guide des fonctions).
2. Modifier le programme pour afficher le texte " Chronomètre : " à la position : (50,
160) en utilisant la fonction void GUI_DispStringAt(const char * s, int
x, int y).
3. Ajouter un chronomètre à la suite du texte "Chronomètre : " en utilisant la fonction :
void GUI_DispDecAt(I32 v, I16P x, I16P y, U8 Len).
4. Proposer autres applications en se basant sur le guide des fonctions fourni.
9
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
I. Objectifs :
Maîtriser l’outil GUIBuilder de la bibliothèque graphique emWin pour concevoir une
interface graphique dédiée à l’afficheur LCD intégré dans la carte STM32F429.
III. Configurations
1. Créer un nouveau projet TP4.
2. Configurer l’afficheur LCD.
3. Ouvrir la fenêtre Manage Run-Time Environment et cocher :
Board Support → emWin LCD (API) → emWin LCD.
Graphics → Tools →GUI Builder
4. Dans le menu principal de Keil μVision, ouvrir Tools → Customize Tools Menu.
5. Lancer GUIBuilder: Tools → GUIBuilder.
6. Cliquer sur l’icon Framewin et modifier les propriétés comme suit :
- Name : Fenetre
- xSize = 240
- ySize = 320
7. Ajouter des boutons à la fenêtre que vous avez créée.
8. Enregistrer le fichier sous le nom FenetreDLG.c : File → Save
9. Fermer la fenêtre GUIBuilder.
10. Ajouter le fichier de conception graphique FenetreDLG.c au projet:
- dans la fenêtre project: clic droit et Add Existing Files to Group 'Source Group 1'…
- ajouter le fichier FenetreDLG.c au projet
11. Au niveau du fichier FenetreDLG.c ajouter :
12. Ouvrir le fichier GUI_SingleThread.c et ajouter :
#include "dialog.h".
10
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
11
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
I. Objectifs :
Savoir développer des applications qui utilisent l’écran tactile de la carte STM32F429-
DISCOVERY.
II. Configurations
Pour implémenter des applications sur l’écran tactile de la carte STM32F429-DISCOVERY,
il est nécessaire de configurer cet écran. Il est connecté au microcontrôleur STM32F429 via le
bus I2C (Inter-Integrated Circuit) à l'interface I2C3.
12
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
I. Objectifs :
Savoir configurer et développer un code C sous Keil μVision pour accéder à un périphérique
de stockage USB connecté à la carte STM32F429-DISCOVERY.
Pour configurer correctement le middleware de l'hôte USB (Universal Serial Bus), il est
nécessaire de comprendre le schéma de connexion du connecteur USB avec le
microcontrôleur STM32F429
13
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
III. Configurations
1. Créer un nouveau projet TP6.
2. Configurer l’afficheur LCD.
3. Ouvrir la fenêtre Manage Run-Time Environment et sélectionner :
- USB → CORE
- USB → host → 1
- USB → Host → MSC (Mass Storage Class)
- CMSIS Driver → USB Host (API) → High-speed
4. Connecter l’hôte USB (Host 0) et augmenter la taille de la pile : dans la fenêtre Project
ouvrir le fichier USBH_Config_0.c (Host) situé sous USB, Configuration Wizard et USB Host
0:
- Connect to hardware via Driver_USBH# → 1
- OS Ressources Settings → Core Thread Stack Size → 540
5. Configuration de CMSIS-Driver pour l’hôte USB : dans la fenêtre Project ouvrir le
fichier RTE_Device.h → Configuration Wizard et cocher USB OTG High-speed :
PHY (Physical Layer PHY)→ PHY Interface → On-chip full-speed PHY
-
Host [Driver_USBH1]→ VBUS Power On/Off Pin → Bit → 4
-
Overcurrent Detection Pin → Port → GPIOC
-
Overcurrent Detection Pin → Bit → 5
-
6. Ouvrier le fichier RTX_Conf_CM.c situé sous CMSIS, choisir l’option Configuration
Wizard → Thread Configuration et modifier :
- Default Thread stack size [bytes] → 1000.
- Number of threads with user-provided stack size → 1.
- Total stack size [bytes] for threads with user-provided stack size → 1000
7. Ouvrier le fichier FS_Config.c situé sous File System et choisir l’option Configuration
Wizard: Initial Current Drive→U0.
8. Ajouter le fichier Thread.c : CMSIS→CMSIS-RTOS Thread
9. Ajouter les fichiers USBH_MSC.c et USBH_MSC.h : USB→USB Host Mass Storage
Access
10. Modifier le fichier Thread.c comme suit :
#include "USBH_MSC.h"
char fbuf[200] = { 0 };
14
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
}
}
osDelay (1000);
}
}
15
ministère de l'enseignement supérieur
et de la recherche scientifique
École centrale polytechnique privée
Références:
[1] “Discovery kit with STM32F429ZI MCU”, user manual, UM1670, September 2017.
[2] “STMicroelectronics: Cortex™-M4 STM32F429 Discovery evaluation board using
ARM® Keil™ MDK 5”, featuring Serial Wire Viewer Spring V 2.0, 2017.
[3] “emWin Graphic Library with Graphical User Interface”, user & reference guide,
UM03001V5.32, October 6, 2015.
[4] “STM32 embedded graphic objects/touchscreen library”, Application note, AN3128, June
2011.
16