<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Programmation de microcontrôleurs STM32 on ENSEIRB-MATMECA</title><link>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/</link><description>Recent content in Programmation de microcontrôleurs STM32 on ENSEIRB-MATMECA</description><generator>Hugo -- gohugo.io</generator><language>fr</language><lastBuildDate>Mon, 01 Sep 2025 00:00:00 +0200</lastBuildDate><atom:link href="https://emmk-73cb1c.gitlab.io/fr/posts/stm32/index.xml" rel="self" type="application/rss+xml"/><item><title>Programmation de microcontrôleurs STM32: GPIO</title><link>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/gpio/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0200</pubDate><guid>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/gpio/</guid><description>&lt;div class="alert note">&lt;p>Cette page vise à présenter une première utilisation des GPIO sur un microcontrôleur STM32.
À la suite de cette page, un développeur logiciel doit être capable:&lt;/p>
&lt;ul>
&lt;li>De trouver les informations nécessaires dans une datasheet pour l&amp;rsquo;utilisation des GPIO,&lt;/li>
&lt;li>De programmer les différents registres pour différentes utilisations des GPIO (LED, bouton-poussoir &lt;em>etc.&lt;/em>)&lt;/li>
&lt;/ul>&lt;/div>
&lt;div class="alert danger">&lt;strong>Version des outils&lt;/strong>
Les différentes étapes utilisent la version &lt;em>&lt;strong>v1.12.0&lt;/strong>&lt;/em> du logiciel &lt;a href="https://www.st.com/en/development-tools/stm32cubeide.html#st_description_sec-nav-tab" target="_blank" rel="noopener">&lt;em>&lt;strong>STM32CubeIDE&lt;/strong>&lt;/em>&lt;/a>.
Certaines variations au niveau des captures d&amp;rsquo;écrans peuvent apparaître si vous utilisez des versions différentes.
De même, la carte utilisée est la &lt;em>&lt;strong>Nucleo-F446RE&lt;/strong>&lt;/em>.&lt;/div>
&lt;h2 id="clignotement-dune-led">Clignotement d&amp;rsquo;une LED&lt;/h2>
&lt;p>Pour la première partie, on se propose de concevoir un programme faisant clignoter la LED d&amp;rsquo;une carte.
Notamment, la carte &lt;em>&lt;strong>Nucleo-F446RE&lt;/strong>&lt;/em> dispose d&amp;rsquo;une LED directement intégrée sur la carte.
Elle est connectée sur la broche (&lt;em>pin&lt;/em>) 5 du port GPIO A.&lt;/p></description></item><item><title>Programmation de microcontrôleurs STM32: Interruptions</title><link>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/irq/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0200</pubDate><guid>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/irq/</guid><description>&lt;div class="alert note">&lt;p>Cette page vise à présenter une première utilisation des interruptions sur un microcontrôleur STM32.
À la suite de cette page, un développeur logiciel doit être capable:&lt;/p>
&lt;ul>
&lt;li>De trouver les informations nécessaires dans une datasheet pour l’utilisation des interruptions,&lt;/li>
&lt;li>De programmer les différents registres pour l’utilisation d’une interruption,&lt;/li>
&lt;li>De comprendre le fonctionnement pour différentes sources d’interruption.&lt;/li>
&lt;/ul>&lt;/div>
&lt;div class="alert danger">&lt;strong>Version des outils&lt;/strong>
Les différentes étapes utilisent la version &lt;em>&lt;strong>v1.12.0&lt;/strong>&lt;/em> du logiciel &lt;a href="https://www.st.com/en/development-tools/stm32cubeide.html#st_description_sec-nav-tab" target="_blank" rel="noopener">&lt;em>&lt;strong>STM32CubeIDE&lt;/strong>&lt;/em>&lt;/a>.
Certaines variations au niveau des captures d&amp;rsquo;écrans peuvent apparaître si vous utilisez des versions différentes.
De même, la carte utilisée est la &lt;em>&lt;strong>Nucleo-F446RE&lt;/strong>&lt;/em>.&lt;/div>
&lt;h2 id="détection-dun-évènement">Détection d&amp;rsquo;un évènement&lt;/h2>
&lt;p>&lt;a href="https://emmk-73cb1c.gitlab.io/fr/posts/stm32/gpio/">Précédemment&lt;/a>, nous avons utilisé un bouton poussoir pour déclencher l’allumage d’une LED.
La détection de l’état du bouton était alors faite de manière scrutative: le programme vérifiait régulièrement l’état du registre correspondant.
Bien que fonctionnel, ce type de fonctionnement est peu efficace: le microcontrôleur exécute en boucle des opérations pour détecter le changement d&amp;rsquo;état.
Ainsi, il ne peut exécuter aucune autre tâche utile pendant ce temps d&amp;rsquo;attente, en plus de continuer à consommer en réalisant les calculs.&lt;/p></description></item><item><title>Programmation de microcontrôleurs STM32: Timer</title><link>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/timer/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0200</pubDate><guid>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/timer/</guid><description>&lt;div class="alert note">&lt;p>Cette page vise à présenter une première utilisation des interruptions sur un microcontrôleur STM32.
À la suite de cette page, un développeur logiciel doit être capable:&lt;/p>
&lt;ul>
&lt;li>De trouver les informations nécessaires dans une datasheet pour l’utilisation des timers,&lt;/li>
&lt;li>De programmer les différents registres pour différentes utilisations des timers (LED, bouton-poussoir etc.),&lt;/li>
&lt;li>D’adapter le fonctionnement d’un timer à l’utilisation d’un capteur externe.&lt;/li>
&lt;/ul>&lt;/div>
&lt;div class="alert danger">&lt;strong>Version des outils&lt;/strong>
Les différentes étapes utilisent la version &lt;em>&lt;strong>v1.12.0&lt;/strong>&lt;/em> du logiciel &lt;a href="https://www.st.com/en/development-tools/stm32cubeide.html#st_description_sec-nav-tab" target="_blank" rel="noopener">&lt;em>&lt;strong>STM32CubeIDE&lt;/strong>&lt;/em>&lt;/a>.
Certaines variations au niveau des captures d&amp;rsquo;écrans peuvent apparaître si vous utilisez des versions différentes.
De même, la carte utilisée est la &lt;em>&lt;strong>Nucleo-F446RE&lt;/strong>&lt;/em>.&lt;/div>
&lt;h2 id="détection-dun-obstacle">Détection d’un obstacle&lt;/h2>
&lt;p>Dans cette partie, l&amp;rsquo;objectif va être de concevoir un système de détection d&amp;rsquo;obstacle.
Le fonctionnement recherché sera le suivant: faire clignoter une LED de plus en plus rapidement selon la distance d&amp;rsquo;un obstacle.
Pour cela, nous allons décomposer le problème en trois sous-arties:&lt;/p></description></item><item><title>Programmation de microcontrôleurs STM32: UART</title><link>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/uart/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0200</pubDate><guid>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/uart/</guid><description>&lt;div class="alert note">&lt;p>Cette page vise à présenter une première utilisation des interruptions sur un microcontrôleur STM32.
À la suite de cette page, un développeur logiciel doit être capable:&lt;/p>
&lt;ul>
&lt;li>De trouver les informations nécessaires dans une datasheet pour l’utilisation du protocole UART,&lt;/li>
&lt;li>De programmer les différents registres,&lt;/li>
&lt;li>D’envoyer des informations octet par octet vers un ordinateur.&lt;/li>
&lt;/ul>&lt;/div>
&lt;div class="alert danger">&lt;strong>Version des outils&lt;/strong>
Les différentes étapes utilisent la version &lt;strong>&lt;em>v1.12.0&lt;/em>&lt;/strong> du logiciel &lt;a href="https://www.st.com/en/development-tools/stm32cubeide.html#st_description_sec-nav-tab" target="_blank" rel="noopener">&lt;strong>&lt;em>STM32CubeIDE&lt;/em>&lt;/strong>&lt;/a>.
Certaines variations au niveau des captures d&amp;rsquo;écrans peuvent apparaître si vous utilisez des versions différentes.
De même, la carte utilisée est la &lt;strong>&lt;em>Nucleo-F446RE&lt;/em>&lt;/strong>.&lt;/div>
&lt;h2 id="transmissionréception-uart">Transmission/Réception UART&lt;/h2>
&lt;p>Lors de la conception d&amp;rsquo;un système à base de microcontrôleur, il est souvent utile de pouvoir échanger des informations avec un autre système.
Par exemple, c&amp;rsquo;est le cas lorsque l&amp;rsquo;on souhaite envoyer des données vers un ordinateur responsable du traitement ou du contrôle.
Un protocole de transmission permet alors de mettre en place une interface commune pour l&amp;rsquo;échange de ces données.
Selon les applications, il existe de multiples types de protocoles.
Dans le cadre de cet exercice, nous allons nous intéresser au protocole UART.&lt;/p></description></item><item><title>Programmation de microcontrôleurs STM32: Utilisation de l'IDE</title><link>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/ide/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0200</pubDate><guid>https://emmk-73cb1c.gitlab.io/fr/posts/stm32/ide/</guid><description>&lt;div class="alert note">&lt;p>Cette page vise à présenter une première utilisation du logiciel &lt;strong>STM32CubeIDE&lt;/strong> pour la programmation de microcontrôleurs STM32.
En la suivant pas-à-pas, un développeur logiciel doit être capable:&lt;/p>
&lt;ul>
&lt;li>de créer un projet,&lt;/li>
&lt;li>de savoir où ajouter son programme (simple) en langage C,&lt;/li>
&lt;li>de connaître quelles informations sont mises à disposition par l&amp;rsquo;outil pour le débogage et comprendre à quoi elles servent.&lt;/li>
&lt;/ul>&lt;/div>
&lt;div class="alert danger">&lt;strong>Version des outils&lt;/strong>
Les différentes étapes utilisent la version &lt;em>&lt;strong>v1.12.0&lt;/strong>&lt;/em> du logiciel &lt;a href="https://www.st.com/en/development-tools/stm32cubeide.html#st_description_sec-nav-tab" target="_blank" rel="noopener">&lt;em>&lt;strong>STM32CubeIDE&lt;/strong>&lt;/em>&lt;/a>.
Certaines variations au niveau des captures d&amp;rsquo;écrans peuvent apparaître si vous utilisez des versions différentes.
De même, la carte utilisée est la &lt;em>&lt;strong>Nucleo-F446RE&lt;/strong>&lt;/em>.&lt;/div>
&lt;h2 id="créer-un-projet">Créer un projet&lt;/h2>
&lt;p>Pour créer un projet sur STM32CubeIDE, différentes étapes sont nécessaires.
Celles-ci sont présentées ci-dessous.&lt;/p></description></item></channel></rss>