Comment commencer en Langage C embarqué ? Comment programmer un microcontrôleur ?

Introduction

Dans ce cours sur le langage C on va apprendre à programmer pour contrôler des systèmes embarqués.

Ce cours est destiné à des personnes qui ne s’y connaissent pas en programmation de carte électronique en langage C.

Ce cours peut être aussi très utile pour ceux qui ont déjà fait des programmes en langage C mais qui souhaite s’orienter plus sur le hardware : savoir quels types de variables prends le moins de place sur une mémoire, ou bien comment allumer une led.

Point d'interrogation

Sur quel interpréteur programmer ?

Pour programmer, on va utiliser le logiciel MPLAB IDE de microchip afin de simuler et de téléverser le programme directement sur la carte électronique.

Si vous souhaitez programmer facilement des cartes électroniques, notamment des cartes Arduino, vous pouvez regarder nos cours sur le langage Arduino.

Les bases du langage C

On va maintenant voir quelques bases du langage C afin bien commencer.

a) Void main

La première chose que l’on voit quand on ouvre un programme est le void main :

#include <stdio.h>

void main(){
    // Votre code
}

La fonction main est la fonction principale de votre programme. Dans cette fonction vous allez mettre toutes les instructions de votre programme ou les appels de fonctions dont vous avez besoin.

Le void main est obligatoire, ne pas la mettre va entrainer une erreur.

b) Les crochets

Chaque fonction comment par un crochet ouvert ({) et se termine par un crochet fermé (}) :

#include <stdio.h>

void main(){
    fonction_crochet();
}
void fonction_crochet {
}

Ne pas mettre les crochets va entrainer une erreur.

c) Point-virgule

La dernière chose que l’on va voir est le point virgule. En langage C, toute instructions se terminent toujours par un point virgule :

#include <stdio.h>

void main(){
    fonction_crochet(); // On appelle la fonction crochet qui est une intruction donc point virgule
}
void fonction_crochet {
}

Ne pas mettre un point virgule va entrainer une erreur.

Petit Quizz

On va maintenant voir un petit quizz pour tester vos connaissances sur le langage C.

1) Qu’est-ce qu’une bibliothèque ?

A) Un fichier source déjà écrit contenant des fonctions toutes prêtes

B) Un fichier contenant des noms de fonctions, leur signature et le type du code retour

C) Un fichier contenant un programme

2) Qu’est-ce qu’un programme en mode console ?

A) Un programme qui fonctionne uniquement sur la console du système

B) Un programme qui fonctionne sur un terminal virtuel dans une fenêtre graphique

C) Un programme qui fonctionne en environnement graphique avec des fenêtres

3) Quelle est la fonction qui permet d’afficher du texte à l’écran en mode console ?

A) Serial.println(“message”);

B) printf(“message”);

C) fprintf(“message”);

4)  Quel symbole permet de faire un retour à la ligne ?

A) \a

B) \r

C) \n

5)  Comment s’appelle le programme chargé de traduire votre code en langage C en langage binaire ?

A) Le programmeur

B) L’interpréteur

C) Le compilateur

6) Lors d’une déclaration de variable, quelle mémoire est utilisée ?

A) Le disque dur

B) Le microprocesseur

C) La RAM

7) Laquelle de ces variables va provoquer une erreur ?

A) juju

B) juju-5

C) juju_5

8) Quel type de donnée permet de stocker -89 ?

A) int

B) unsigned int

C) double

9) Quelle est la bonne ligne pour récupérer un nombre décimal entré au clavier ?

A) scanf(“%f”,nombre_Decimal);

B) scanf(“%lf”, *nombre_Decimal);

C) scanf (%f” ,&nombre_Decimal);

10) Quelle fonction utiliser pour arrondir 2.75 à 2 ?

A) Ceil

B) Round

C) Pow

La correction du quizz

Voici la correction du quizz : 1)A), 2)A) , 3)B), 4)c), 5)c), 6)C), 7)B), 8)A), 9)C), 10)B).

Ne vous inquiétez pas si vous avez eu du mal à répondre aux questions vous pouvez regarder nos cours sur le langage C embarqué qui vous aidera à programmer !