Maîtriser la programmation en C sur microcontrôleurs STM32

Langage C bas niveau : développement drivers GPIO, Timers, UART, ADC, I2C

4.35 (116 reviews)
Udemy
platform
Français
language
Hardware
category
instructor
433
students
4 hours
content
Jul 2021
last update
$19.99
regular price

What you will learn

Installer et prendre en main les outils nécessaires

Mises en œuvre : I2C

Comprendre les étapes complètes de développement des drivers

Mises en œuvre : UART

Utiliser les documentations (reference manual, datasheet, user manual, generic user guide)

Mises en œuvre : timers

Maitriser les outils de debogage et de simulation

Mises en œuvre : ADC

Mises en œuvre : GPIO

Description

Descriptif :

Ce cours vous permettra de comprendre le fonctionnement interne des microcontrôleurs STM32.

Vous apprendrez à programmer une cible embarquée étape par étape, en extrayant les informations dans les différentes documentations (reference manual, datasheet, user manual, generic user guide…).

Vous apprendrez à utiliser l’IDE Keil µvision, en passant par la création d’un nouveau projet, jusqu’à l’exécution du programme. Vous verrez comment exécuter votre programme en simulant l’architecture du microcontrôleur STM32, mais aussi comment exécuter votre programme sur la cible réelle, c’est-à-dire sur la carte Nucleo.

Vous allez prendre en main quelques outils de débogage (exécution en mode pas à pas, observation de variables, estimation des durées d’exécution, outil d’analyse graphique).

Vous pourrez appliquer ce que vous allez apprendre dans ce cours à tous les microcontrôleurs. Les codes en langage C que vous allez développer, pourront être utilisés comme modèle, pour développer rapidement un driver pour vos microcontrôleurs.

Ce cours va vous faire gagner de nombreuses heures de recherche sur Google pour en savoir plus sur la programmation des microcontrôleurs. Je vous guide pas à pas afin que vous puissiez construire vos propres applications.

Quelle est la différence avec une carte Arduino ?

L’univers Arduino est composé de diverses fonctions préprogrammées vous permettant de programmer rapidement et facilement le microcontrôleur. C’est d’ailleurs le principal objectif des créateurs de l’Arduino : créer une plateforme simple à utiliser, afin que quiconque puisse concevoir rapidement des prototypes. Mais si vous voulez maîtriser la programmation sur microcontrôleurs, vous ne pouvez pas vous contenter d’utiliser des bibliothèques…

Dans ce cours vous allez comprendre l’architecture des microcontrôleurs STM32 et manipuler les registres du MCU afin de créer des applications embarquées.

Matériels requis :

MCU : Carte Nucleo STM32F103RB (10 euros)

Pour suivre ce cours, je vous conseille de vous procurer une carte Nucleo STM32XXX (pour information la carte NUCLEO STM32F103RB est utilisée dans ce cours), toutefois cette carte n’est pas obligatoire, car les activités peuvent être réalisées en simulation.

IDE : Keil µvision (gratuit)


A la fin de ce cours vous aurez acquis les compétences pour programmer un microcontrôleur STM32 et configurer ses principaux périphériques.


Informations importantes à savoir :

  • Une fois que vous avez rejoint la formation, vous y avez accès à vie.

  • Vous avez accès gratuitement à toutes les mises à jour que j'apporterai à cette formation.

  • Vous pouvez m'envoyer des messages avec toutes vos questions ou suggestions concernant la formation.

Background vector created by freepik

Content

Introduction

Introduction

Présentation de la carte NUCLEO

Présentation de la carte NUCLEO

Présentation et installation de l'IDE Keil µVision (gratuit)

Installation de l'IDE Keil µVision
Installation des packs
Installation du driver ST-LINK
Activation licence MDK-Essential (pour ceux qui possèdent une STM32F0, G0 ou L0)

Prise en main de Keil µVision

Introduction
Création d'un projet
Exécuter le programme sur une cible simulée
Exécuter le programme sur une cible réelle

Les bases du C embarqué

Comprendre ce qu'est un registre
Clock, bus AHB et APB
Les registres et les masques

Comprendre les GPIO

Comprendre les GPIO

Développement driver General Purpose Input/Output (GPIO) sur Keil

Configuration de l'horloge
driver GPIO : output mode
driver GPIO : input mode
Tester le programme sur une cible simulée
Tester le programme sur une cible réelle
Le registre BSRR

Comprendre les timers

Comprendre les timers
Présentation du Systick Timer
Présentation des General Purpose Timers

Développement driver TIMERS sur Keil

driver Systick : création d'un delay
Tester le programme sur une cible simulée
Tester le programme sur une cible réelle
driver General purpose timers : debordement toutes les secondes

Comprendre l'UART

Comprendre l'UART

Développement driver UART sur Keil

driver UART : transmettre des données
driver UART : recevoir des données

Comprendre l'ADC

Comprendre l'ADC

Développement driver ADC sur Keil

driver ADC : lire la valeur d'un potentiomètre

Comprendre l'I2C

Comprendre l'I2C

Développement driver I2C sur Keil

driver I2C : communication entre le STM32 et le module DS3231

Screenshots

Maîtriser la programmation en C sur microcontrôleurs STM32 - Screenshot_01Maîtriser la programmation en C sur microcontrôleurs STM32 - Screenshot_02Maîtriser la programmation en C sur microcontrôleurs STM32 - Screenshot_03Maîtriser la programmation en C sur microcontrôleurs STM32 - Screenshot_04

Reviews

Fred
December 20, 2022
Excellent cours, excellente formatrice, cependant j’aurais quelques remarques : Un support de cours en pdf reprenant ce qui est enseigné dans les vidéos serait le bienvenu. J’aurais aimé avoir une section sur les interruptions, PWM, le bus CAN, SPI, USB… La qualité vidéo est très limite
Mouhammed
September 26, 2022
Très bon cours que je recommande. J'ai juste quelques remarques. En effet, lors des parties UART et I2C, il m'est arrivé par moment de poser des questions telles que "pourquoi configurer tel registre et pas un autre", "pourquoi on ne s'intéresse qu'à ces parties et pas autres". Du coup, c'est à ce niveau que j'ai eu quelques incompréhensions. Mais à part ça, c'est un court facile à comprendre dans l'ensemble! Cdt
Dominique
August 14, 2022
Je connaissais les vidéos de Vanessa sur YouTube, elle explique extrêmement bien, c'est pourquoi je me suis inscrit à son cours sur Udemy et je n'ai pas été déçu.
gilles
May 4, 2022
Excellente pédagogie, très structurée . Dommage que la qualité vidéo (définition) ne soit pas au rendez-vous, du HD serait génial.
C.
April 11, 2022
l'objectif des sections claire et le cours est bien expliqué avec une bonne pédagogie. Vanessa maîtrise son sujet
Mounir
March 19, 2022
La formation est high level, bravo à la formatrice. En revanche, la qualité des vidéos est en 720p et question lisibilité c'est tout juste moyen. Un zoom aurait été le bienvenue

Charts

Price

Maîtriser la programmation en C sur microcontrôleurs STM32 - Price chart

Rating

Maîtriser la programmation en C sur microcontrôleurs STM32 - Ratings chart

Enrollment distribution

Maîtriser la programmation en C sur microcontrôleurs STM32 - Distribution chart

Related Topics

4028020
udemy ID
5/5/2021
course created date
6/5/2021
course indexed date
Bot
course submited by