Les bases de la programmation C++

Introduction

Ce document présente les bases du langage C++, utilisé notamment pour programmer le micro-contrôleur d'une carte Arduino (ATMEGA328P), sa syntaxe ainsi que sa structure.

Objectifs :

  • Comprendre la notion d'appel à une fonction dans un programme

  • Présenter les règles d'écriture d'un programme en C++

  • Comprendre comment est structuré un programme en C++

Structure d'un programme Arduino

Compiler un programme :

L'exécution d'un programme s'effectue de manière séquentielle, c'est-à-dire que les instructions sont exécutées les unes à la suite des autres.

Voyons plus en détail la structure d'un programme écrit dans l'environnement Arduino :

1
/*
2
  Blink
3
  Turns on an LED on for one second, then off for one second, repeatedly.
4
5
*/
6
7
8
// the setup function runs once when you press reset or power the board
9
void setup() {
10
  // initialize digital pin LED_BUILTIN as an output.
11
  pinMode(LED_BUILTIN, OUTPUT);
12
}
13
14
// the loop function runs over and over again forever
15
void loop() {
16
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
17
  delay(1000);                       // wait for a second
18
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
19
  delay(1000);                       // wait for a second
20
}

Le programme ci-dessus est constitué de 2 fonctions principales :

setup() : Dans la quelle les variables, le mode des broche d'E/S, les librairies spécifiques sont initialisées. Cette fonction est appelée une seule fois au démarrage ou lors d'un RESET de la carte Arduino.

loop() : La fonction loop() comme son nom l'indique boucle indéfiniment. C'est dans cette boucle que se trouve le cœur du programme qui contrôlera les E/S de la carte.

Coloration syntaxique : Lorsque du code est écrit dans l'interface de programmation, certains mots apparaissent en différentes couleurs qui clarifient le statut des différents éléments. En orange, apparaissent les mots-clés reconnus par le langage Arduino comme des fonctions existantes. Lorsqu'on sélectionne un mot coloré en orange et qu'on effectue un clic avec le bouton droit de la souris, l'on a la possibilité de choisir « Trouver dans la référence » : cette commande ouvre directement la documentation de la fonction sélectionnée.

En gris, apparaissent les commentaires qui ne seront pas exécutés dans le programme. Il est utile de bien commenter son code pour s'y retrouver facilement ou pour le transmettre à d'autres personnes.

On peut déclarer un commentaire de deux manières différentes :

  • sur une ligne de code, tout ce qui se trouve après « // » sera un commentaire.

  • l'on peut encadrer des commentaires sur plusieurs lignes entre « /* » et « */ ».

Ponctuation : Le code est structuré par une ponctuation stricte :

  • toute ligne de code se termine par un point-virgule « ; »

  • le contenu d'une fonction est délimité par des accolades « { » et « } »

  • les paramètres d'une fonction sont contenus pas des parenthèses « ( » et « ) ».

Une erreur fréquente consiste à oublier un de ces éléments.

Dans chaque partie d'un programme sont utilisées différentes instructions issues de bibliothèques (collection de fonctions) prédéfinies

Ainsi un programme écrit en C++ impose une syntaxe particulière et contient un certains nombre d'appels à toutes sortes de fonctions. Ce langage incontournable est utilisé pour programmer le comportement des carte Arduino. Dans cette environnement la fonction setup() et la fonction loop() doivent être définies.