STM32 Et GPIO
STM32 Et GPIO
STM32 Et GPIO
STM32 :
Un cœur ARM
Cortex-M3
1 Introduction
La famille des microprocesseurs STM32 de ST Microélectroniques fournit une vaste gamme
de périphériques autour d’un cœur d’ARM Cortex-M3 [CortexM3], allant du simple GPIO
(port d’entrée-sortie généraliste) et interface de communication série synchrone (SPI) ou
asynchrone (RS232) aux interfaces aussi complexes que l’USB, Ethernet ou HDMI. Un
point remarquable est qu’un certain nombre de ces processeurs possèdent deux
convertisseurs analogique-numériques, permettant un ´échantillonnage simultané de deux
grandeurs analogiques. Cadence sur un résonateur interne ou sur un quartz externe haute
fréquence 8 MHz (multiplié en interne au maximum `a 72 MHz), ce processeur est
compatible pour des applications faibles consommations (section 9) avec un mode veille dont
le réveil s’obtient par une condition sur une horloge interne ou une interruption externe. La
multiplicité des horloges et leur utilisation pour cadencer les divers périphériques est
d’ailleurs un des aspects les plus d´déroutant dans la prise en main du STM32.
Figure 5 – Vue intérieure de la station et installation en extérieur. La liaison sans fil avec
l’ordinateur chargé de placer les informations recueillies sur le web se fait par Bluetooth.
GPIO
DE
STM32
STM32 GPIO
Les broches du microcontrôleur peuvent avoir plusieurs fonctions, c'est le cas par exemple des
broches du port série 2 qui se superposent aux GPIO PA_2 et PA_3. Ces derniers ne sont
donc pas utilisables comme GPIO si le port série est activé.
Chaque pins des STM32 est multiplexée : on peut choisir en software sa fonction parmi :
• entrée numérique (0V ou 3.3V) lisible en soft
• sortie numérique (0V ou 3.3V) contrôlable en soft
•fonction analogique (ADC/DAC)
• fonction alternative (E/S des périphériques).
Conclusion
Cet ensemble de mises en œuvre nous a permis de se faire une bonne idée de la manière
d’exploiter le STM32 et de configurer les périphériques. Il est ainsi possible de constater que
pour un périphérique donné une partie est totalement liée à celui-ci (activation de l’horloge
pour le périphérique et pour le port, configuration des broches, etc...). Une seconde partie de
la configuration/utilisation se base sur des registres indexés par l’adresse du périphérique.
Cette partie pourra donc être facilement incluse dans un module utilisable par tous les
périphériques d’un même type.