Vous êtes sur la page 1sur 3

COMPTE RENDU MOOC SEMAINE 3

Vidéo 3.1 : Introduction au langage C

1. Histoire
Le langage C a été créé en 1972 par Dennis Ritchie. C’est le résultat d’une évolution de
langages anciens. C’est un langage proche de l’assembleur, car à l’époque où il a été développé les
ordinateurs ne disposaient pas de beaucoup de puissance, il fallait donc optimiser son
fonctionnement.

2. Variables et assignations :
Une variable est définie avec la syntaxe : type nom_variable = valeur ;

3. Structures de contrôle :
On peut les regrouper en structures de test et structures de boucle.
Les structures de test servent à contrôler l’exécution du programme. On peut ainsi définir
qu’un beau de code s’exécute dans certaines conditions précises. Comme exemple on a la structure
if.
Les structures de boucle servent à définir le nombre de fois qu’une suite d’instructions sera
exécutée. Comme exemple on a : la structure while, la structure do … while, la structrue for.
Pour interrompre l’exécution d’une boucle, on utilise l’instruction break.

4. Procédures et programme principal :


Les procédures sont des bouts de code qui permettent d’effectuer une action précise dans un
programme. Il permet de factoriser le code et d’éviter la répétition.

Vidéo 3.2 : Les entrées-sorties

1. La solution arduino-wiring :
Avec arduino, on a la possibilité de manipuler les broches d’entrées-sortie en utilisant des
numéros qui leur sont attribués.
Ceci présente comme avantage la simplicité, et une certaine compatibilité entre des
environnements différents.

2. Le schéma interne :
Pour une sortie, on doit pouvoir décider de la valeur qui doit être mémorisée, jusqu’à ce
qu’une nouvelle valeur soit envoyée. Il faut pour cela un registre.
Pour une entrée, on doit pouvoir saisir la valeur à un instant donné, il faut donc pour cela un
passeur.
Pour qu’une même patte puisse être utilisée tantôt comme entrée, tantôt comme sortie, il faut
utiliser un second passeur qui permettra de valider ou de ne pas valider la valeur de sortie.

3. Les registres correspondants :


Les registres utilisés pour définir si une broche est utilisée en entrée ou sortie sont les
registres de direction DIR et de sorties OUT.
Lorsque DIR est à 0, la broche est utilisée en entrée, quelle que soit la valeur de OUT.
Lorsque DIR est à 1, la broche est utilisée en sortie. Lorsque OUT est à 0, la broche est en
sortie à 0, et lorsque OUT est à 1, la broche est en sortie à 1.
La valeur de la patte est lue dans le registre IN.

Vidéo 3.3: La manipulation des champs de bits

Opération Set bit : mise à 1 d’un bit dans un de registre. Pour cela on utilise l’opérateur
logique OU, avec tous les bits à 0, sauf à l’indice du bit où on veut mettre à 1.
Opération Clear bit : mise à 0 d’un bit dans un registre. Pour cela on utilise l’opérateur
logique ET. Avec tous les bits à 1, sauf à l’indice du bit où on veut mettre à 0.
Opération Test bit : tester la valeur d’un bit dans un registre. Pour cela on utilise
l’opérateur logique ET.

Vidéo 3.4 : Types de données en C/arduino

1. Types de données :
• booléen (1 bit)
• byte (8 bits)
• char (8 bits)
• word, int, long

2. Tableaux de variables :
Les tableaux osnt créé avec la syntaxe suivante :
type nom_tableau[taille_tableau] = {val1, val2, …}
L’initialisation du tableau est facultative.
Les tableaux peuvent s’avérer très utiles dans des cas de figure comme la manipulation d’un
affichage 7 segment, pour stocker les numéros des pins des pattes, et la représentation des chiffres.
L’écriture des instruction peut être facilitée en utilisant une boucle for.

3. énumérations :
enum nom_var {val1, val2, …} ;

Vidéo 3.5 : Fonctions

1. Règles d’écriture
• les noms de constante doivent être en majuscule
• les noms de variable doivent être écrits en minuscule
• les définitions et fonctions doivent commencer par des Majuscules et utiliser la notaton
CamelCase.

2. #define et fonctions
L’instruction #define permet de décrire le matériel. Indiquer les numéros de pin et les
matériels qui y sont associés.
Une fonction permet de définir le code pour réaliser une tâche bien précise. Elle prend des
paramètres et renvoie au plus une valeur. Si l’on désire que notre fonction renvoie plusieurs valeurs,
on peut renvoyer un pointeur vers un tableau contenant la liste des valeurs qu’on souhaite retourner,
ou alors utiliser des variables globales qu’on modifiera dans notre fonction.

Vidéo 3.6 : Comment se présente un microcontrôleur

Vous aimerez peut-être aussi