Nous avons 66 invités et aucun membre en ligne

Dans ce premier cours sur la plaque de développement Nucleo, je vais faire un survol des logiciels qui seront utilisés lors des prochains cours ainsi que les différentes fonctionnalités de base de la carte.

Allez voir ma vidéo Youtube : STM32 Introduction

Allez voir ma vidéo Youtube : STM32 CubeMX Introduction

En premier lieu, la carte de développement Nucleo utilise un STM32F446RET6 comme processeur principal. Ce microcontrôleur est produit par la compagnie ST Microelectronics. 

Lors des différents cours, je vais utiliser l'environnement de programmation Visual Studio Communauté 2017. C'est un interface très pratique et facile à comprendre. De plus, il offre une fonctionnalité appelée "intellisense" qui permet de prédire les commandes qu'on désire entrer pour notre programme. Par contre, il faut faire attention à ne pas confondre environnement de programmation et compilateur. Dans ce cas-ci, Visual Studio est seulement utilisé comme environnement de programmation. Pour compiler nos programmes, on utilise VisualGDB qui s'intègre à Visual Studio. C'est un compilateur peu coûteux (avec une version d'essai de 30 jours) et qui fonctionne bien.

Aujourd'hui, avec des microcontrôleurs aussi complexes, les fabriquants nous offrent des logiciels qui permettent de faire la gestion des périphériques avec un interface usager intéressant. Pour les microcontrôleurs PIC, ce logiciel s'appelle MCC sous MPLAB X. Pour les microcontrôleurs STM32, on va utiliser le logiciel CubeMX.

Dans la deuxième vidéo sur l'introduction des microcontrôleurs STM32, je vous présente ce logiciel et comment initialiser les différents périphériques simplement. À la fin de la vidéo, je fais un exemple avec une LED qui clignote à un intervalle régulier. Une fois qu'on a bien compris son fonctionnement et que la liaison entre le CubeMX et l'environnement de programmation Visual Studio est bien fait, des projets complexes deviennent très facile à configurer.

Pour ce qui est des fonctionnalités de base de cette carte, il faut savoir que c'est un microcontrôleur 32-bit avec énormément de mémoire. Il contient plus de 500k de mémoire Flash et plus de 100k de mémoire RAM. De plus, il peut aller à une vitesse de calcul maximale de 180 MHz. Lorsqu'on compare ses caractéristiques avec celles d'un PIC, on se rend compte qu'il y a une énorme différence. Mais c'est tout simplement que ces deux types de microcontrôleurs ne sont pas destinés aux mêmes applications.

Évidemment, le microcontrôleur possède des ports UART, I2C, SPI et plusieurs autres. Ce qui est intéressant, c'est qu'on peut mettre un périphérique sur plus d'une broche. Par exemple, un prériphérique UART peut aller sur PA2 et PA3, mais on pourrait aussi bien le placer sur PC5 et PC6. (Le CubeMX nous aidera à placer les différents périphériques).

Comme il y a beaucoup de périphériques et que leur gestion peut être lourd, la compagnie ST Microelectronics fournit des librairies de base des périphériques. Elles vont être généré automatiquement lors de la génération du CubeMX et on les appelles les HAL (Hardware Abstraction Layer). C'est des librairies qui s'occupent de toute la gestion des registres internes du microcontrôleurs. EN AUCUN CAS VOUS DEVEZ MODIFIER LE CONTENU DE CES LIBRAIRIES. Le fonctionnement global pourrait en être affecté.

Dans la fonction main(), il suffit d'appeler ces fonctions et de les utiliser pour transmettre de l'information via le port UART, allumer une LED sur un GPIO ou de démarrer une lecture du périphérique ADC.