Microcontrollers/STM32 + Project

cours-elec

Semester

Level

Language

Specialization

ECTS

Prerequisites

Digital and analog electronics - Algorithms - C programming language.

Learning outcomes

Program a microcontroller using the manufacturer's graphical environment.
Master register programming.
Master the manufacturer's libraries (HAL for Hardware Abastraction Layer).
Use basic microcontroller peripherals:
- Digital and analog inputs/outputs
- Manage interrupts
- Generate time bases with timers
- Convert analog voltage to digital voltage
- Generate digital signals with variable duty cycle (PWM)
+
The project proposes a complete study of an embedded system comprising
sensor, signal processing and microcontroller.
Based on a given set of specifications, students are required to:
- Analyze the problem and propose several solutions.
- Design a solution
- Create a printed circuit prototype
- Test and validate the electronic circuit and its software.
The documentation associated with the prototype is written in parallel.
- Use serial links (I2C and SPI)

Course content

The STM32 Microcontroller course has 2 objectives:
- get to grips with the basics of microcontroller programming, using a board with an STM32 from STMicroelectronics
- master the STM32CubeIDE environment, the graphical interface used to configure and program the microcontroller.
The course includes a 2-hour lecture in the amphitheater with the entire class.
This is followed by 6 sessions of 2h group practical work.
Lecture: Introduction to microcontrollers and general information
Practical exercise 01: Inputs and outputs
TP 02: Interrupts
Practical exercise 03: Managing time bases with a timer
Practical exercise 04: Variable pulse-width signals
TP 05: Analog-to-digital converter
TP 06: Serial link 

Assessment method

Proctored assignment / Practical work + Project

Prenez rdv pour une visio de 15 minutes

_linkedin_partner_id = "6903274"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id);