Volumes horaires
- CM 10.0
- Projet -
- TD 10.0
- Stage -
- TP 28.0
- DS 4.0
Crédits ECTS
Crédits ECTS 0.5
Objectif(s)
- Comprendre et maîtriser le fonctionnement d'un microcontrôleur en prenant l'exemple de la carte STM32-Nucleo.
- Être capable de programmer en assembleur des tâches simples pouvant utiliser des boucles et des sous-routines.
- Comprendre et maîtriser l'utilisation des périphériques de base: ports d'entrées/sorties et port série.
- Comprendre la programmation sous interruption
- Comprendre les spécificités la programmation embarquée en langage C
- Être capable de programmer en C des tâches complexes sur la carte STM32-Nucleo
- Comprendre et maîtriser l'utilisation de différents périphériques avancés: Convertisseur analogique-numérique, Timer...
- Être capable de chercher des informations dans une documentation technique abondante et en langue anglaise.
Contenu(s)
0 - Introduction aux microcontrôleurs et calcul binaire
1 - Langage assembleur (calculs avec registres)
2 - Langage assembleur (branchement, accès mémoire, boucles)
3 - Utilisation de la pile et ports d'entrées sorties (GPIO)
4 - Interruptions et tâches d'interruptions (SysTick/EXTI)
5 - TP sur la conversion A/N
6 - TP sur l?utilisation du timer
7 - TP de mise en commun Timer + CAN
Ce cours suppose une familiarité avec le langage C et ses concepts de base: procédures/fonctions, boucles, tableaux, structures. La maîtrise préalable de la numérotation binaire et des opérations arithmétiques et logiques n'est pas exigée.
Le cours et les supports de cours sont en français, cependant un niveau suffisant d'anglais technique sera nécessaire pour lire certaines parties (non traduites) des documentations techniques.
33% évaluation projet : livrable
67% examen terminal :
- épreuve écrite - 2h + épreuve sur machine - 2h.
- Tous documents de cours autorisés.
Sans téléphone ou montre connectée. - En de tiers-temps : sujet adapté.
En cas de non validation d’une UE, le jury peut autoriser l’élève ingénieur à passer des épreuves complémentaires pour la valider.
Code de l'enseignement : KAEL6M06
Langue(s) d'enseignement :
Vous pouvez retrouver ce cours dans la liste de tous les cours.
- Polycopiés de cours/TD/TP
- Marc Laury, À la découverte des cartes Nucleo, Eyrolles, 2017
- Documentations disponibles sur le site du constructeur ST Microelectronics:
* PM0214 Cortex-M4 Programming manual
* RM390 STM32F446 Reference manual + STM32F446xC/E Datasheet
* UM1724 STM32 Nucleo-64 board User manual