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. 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. Sommaire masquer 1 Comment commencer en Langage C embarqué ? Comment programmer un microcontrôleur ? 1.1 Introduction 1.1.1 Sur quel interpréteur programmer ? 1.2 Les bases du langage C 1.2.1 a) Void main 1.2.2 b) Les crochets 1.2.3 c) Point-virgule 1.3 Petit Quizz 1.3.1 1) Qu’est-ce qu’une bibliothèque ? 1.3.2 2) Qu’est-ce qu’un programme en mode console ? 1.3.3 3) Quelle est la fonction qui permet d’afficher du texte à l’écran en mode console ? 1.3.4 4) Quel symbole permet de faire un retour à la ligne ? 1.3.5 5) Comment s’appelle le programme chargé de traduire votre code en langage C en langage binaire ? 1.3.6 6) Lors d’une déclaration de variable, quelle mémoire est utilisée ? 1.3.7 7) Laquelle de ces variables va provoquer une erreur ? 1.3.8 8) Quel type de donnée permet de stocker -89 ? 1.3.9 9) Quelle est la bonne ligne pour récupérer un nombre décimal entré au clavier ? 1.3.10 10) Quelle fonction utiliser pour arrondir 2.75 à 2 ? 1.3.11 La correction du quizz Les bases du langage C On va maintenant voir quelques bases du langage C afin bien commencer.a) Void mainLa 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 crochetsChaque 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-virguleLa 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êtesB) Un fichier contenant des noms de fonctions, leur signature et le type du code retourC) Un fichier contenant un programme2) Qu’est-ce qu’un programme en mode console ?A) Un programme qui fonctionne uniquement sur la console du systèmeB) Un programme qui fonctionne sur un terminal virtuel dans une fenêtre graphiqueC) Un programme qui fonctionne en environnement graphique avec des fenêtres3) 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) \aB) \rC) \n5) Comment s’appelle le programme chargé de traduire votre code en langage C en langage binaire ?A) Le programmeurB) L’interpréteurC) Le compilateur6) Lors d’une déclaration de variable, quelle mémoire est utilisée ?A) Le disque durB) Le microprocesseurC) La RAM7) Laquelle de ces variables va provoquer une erreur ?A) jujuB) juju-5C) juju_58) Quel type de donnée permet de stocker -89 ?A) intB) unsigned intC) double9) 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) CeilB) RoundC) 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 !