Affichage_Atrylec_com

Vous n'êtes pas seuls dans l'Univers !

Transistor_100

STM32 DISCOVERY - STM32L-DISCOVERY, premiers essais

Les premiers essais avec la carte « STM32L-DISCOVERY ».

Je veux remonter ! | Liste

1) La saisie des codes sources

Afin de prendre en main la carte « STM32L-DISCOVERY », je vous propose un premier exemple de programme simple.
Ce premier programme va faire s'allumer la LED verte de la carte.
Le schéma électrique de cette carte nous apprend que l'anode de la LED verte est connectée à la broche repérée « PB7 » du microcontrôleur « STM32L152RB ».
Cela est d'ailleurs rappelée sur la sérigraphie de la carte, à côté de la LED verte.
Cela signifie qu'il faudra que cette broche présente un « un » logique, pour provoquer l'allumage de la LED verte, et un « zéro » logique, pour provoquer son extinction.
Le code source suivant permet justement d'obtenir ce « un » logique.
Son fonctionnement vous sera expliqué par la suite. Sachez cependant que la base des connaissances du langage C est nécessaire pour le comprendre.
Copiez le code source, et collez-le dans votre fichier « main.c ». et c'est le moment de sortir le super colorateur syntaxique de ce site Internet.

Code source : Exemple 1B - Allumage de la LED verte de la carte


/* Allumage de la LED verte, située sur la broche PB7 */

#include "stm32l1xx.h" /* Inclusion du fichier qui contient
				toutes les définitions des registres du microcontrôleur
				STM32L152RB */

void ConfigPortB(void) /* Fonction qui permet de configurer le port B */
{
    RCC->AHBENR |= (1 << 1); /* Activation de l'horloge du port B */
    GPIOB->MODER = ((GPIOB->MODER & 0xffff3fff) | (0x00004000)); /* Configuration de la broche PB7 en
                                                    sortie à usage général */
    GPIOB->OTYPER = ((GPIOB->OTYPER & 0xffffff7f) | (0x00000000)); /* Configuration de la broche PB7 en
                                                      sortie push-pull */
    GPIOB->OSPEEDR = ((GPIOB->OSPEEDR & 0xffff3fff) | (0x00000c000)); /* Configuration de la broche PB7 en
                                                        sortie 40 MHz */
    GPIOB->PUPDR = ((GPIOB->PUPDR & 0xffff3fff) | (0x00000000)); /* Désactivation des résistances
                                                      de pull-up et de pull-down
                                                    de la broche PB7 */
}

int main(void) /* Fonction principale */
{
    ConfigPortB('Francais', ''); /* Appel de la fonction qui permet de configurer
                       le port B */
    while(1) /* Boucle sans fin */
    {
        GPIOB->ODR   = ((GPIOB->ODR & 0xffffff7f) | (0x00000080)); /* Envoi d'un « un » logique sur la broche PB7 */
    }
}

void SystemInit (void) /* Fonction qui permet d'effectuer l'initialisation du microcontrôleur STM32L152RB.
				Cette fonction est appelée par le fichier écrit en langage assembleur, qui a été inclus au début de la création du projet.
				L'appel de la fonction « main('Francais', ''); » est ensuite effectué par le même fichier. */
{

}


Je veux remonter ! | Liste

2) La compilation

Sauvegardez les modifications que vous venez d'apporter au ficher, puis faitez-le compiler par Keil µVision 4, en cliquant sur le bouton « Rebuild ».

Capture_ecran_14

Vous verrez des choses défiler dans la partie basse de votre écran, puis ce défilement va s'arrêter.
Lorsque vous lancez une compilation, Keil µVision 4 va chercher tous les fichiers sources que vous avez ajoutés au projet qui est ouvert.
Il va ensuite lire tous ces fichiers sources, et les traduire en code machine, qui est le seul type de code qui soit compréhensible par les microcontrôleurs, quel que soit leur modèle.
L'apparition du message « 0 errors - 0 warnings » vous indiquera que tout s'est bien passé.
En cas d'avertissements ou d'erreurs, le logiciel vous le mentionnera, en indiquant leur nombre, et, lorsque c'est possible, l'endroit où se situent les problèmes.
Ces problèmes pourront provenir des fichiers sources ou de la configuration du logiciel.

avertissement-icone-9768-32

Attention ! Veillez toujours à laisser la dernière ligne vide de chacun de vos fichiers sources.
Le compilateur du logiciel Keil µVision 4 vous indiquera un avertissement, à chaque fois qu'un fichier source ne respecte pas cette règle.
Cependant, cela n'empêche pas la compilation de s'effectuer correctement.

Je veux remonter ! | Liste

3) L'envoi du code compilé au microcontrôleur

La compilation s'est bien passée ? Parfait ! Vous pouvez maintenant envoyer le code source compilé au microcontrôleur !

Pour ce faire, cliquez sur le bouton « Download » de Keil µVision 4.

Capture_ecran_15

Capture_ecran_20

Fonctionnement en mode « Pas-à-pas »

Capture_ecran_21

Vue du déboggeur

Capture_ecran_22

Commentaires (0)

Ajouter un commentaire

Votre pseudo :

Votre commentaire :

Je veux remonter !