1
I-Introduction :
Ce travail pratique porte sur l’exploitation des modules Timers des microcontrôleurs STM32
afin de nous familiariser avec cette fonctionnalité essentielle. En approfondissant la
configuration des Timers, la gestion des interruptions et la manipulation des registres de
comptage, les participants acquerront une maîtrise solide de leur utilisation. À travers des
exercices pratiques et des mises en situation concrètes, ce TP vise à développer les
compétences nécessaires pour concevoir des applications embarquées performantes et
optimisées sur STM32, consolidant ainsi notre expertise dans ce domaine en constante
évolution.
II- Recherche bibliographique :
Les microcontrôleurs STM32 intègrent plusieurs Timers internes, des modules polyvalents
utilisés pour des tâches essentielles telles que la mesure du temps, la génération de signaux de
synchronisation ou encore la détection d’impulsions. Ils peuvent fonctionner de manière
autonome ou en association avec d’autres périphériques, offrant ainsi une grande flexibilité
pour répondre aux exigences des systèmes embarqués. Parmi eux, le Timer TIM1 occupe une
place centrale en raison de sa précision et de sa fiabilité, ce qui en fait un choix privilégié pour
des applications sensibles au temps comme le contrôle moteur ou la communication
synchrone. L’étude détaillée de son schéma bloc permet de mieux appréhender ses
fonctionnalités et ses différentes configurations, offrant ainsi une meilleure exploitation de ses
capacités dans les projets embarqués.
2
III- Manipulation :
1- Exercice1 :
Configurer le module TIM1 pour obtenir un compteur modulo 12 et tester son
fonctionnement en utilisant un bouton-poussoir pour incrémenter le compteur :
Configurer les broches sur l'IDE STM32Cube :
3
Code :
4
2- Exercice 2 :
Pour obtenir un clignotement à 2 HZ :
On règle APB2 timer clocks à 20Mhz
ARR = 20000000/ ((9999+1)*2)-1 = 999 = 1000 – 1 avec Psc = 9999 = 10000 - 1
Dint = (psc+1) *(ARR+1) *Tcycle = 10^7*Tcycle
5
Conclusion :
Les timers des STM32 sont essentiels pour la gestion du temps, la génération de PWM, la mesure
d'événements et les interruptions périodiques. Leur configuration précise permet d'optimiser les
performances du microcontrôleur en automatisant des tâches sans surcharge du CPU.