Nous avons 43 invités et aucun membre en ligne

Allez voir ma vidéo Youtube : [3] Programmation PIC en C : Entrée / Sortie (I/O)

Le if

Le «if()» est une instruction qui sert à réaliser une action conditionnelle. Ainsi, si la condition est respectée, le microcontrôleur exécute l'action puis réalise ensuite le reste du programme. Mais, si la condition n'est pas respectée, le microcontrôleur n'effectue pas l'action programmée entre accolades et il testera de nouveau la condition dans un nouveau cycle.

Pour créer cette condition, il suffit d'inscrire :

if(condition) action;

if(condition)
{
   action1;
   action2;
   action3;
}

if(interrupteur == 1) LED = 1;

Cette fonction veut dire que lorsque l’on appuie sur l'interrupteur, la LED s’allume.

-     Interrupteur avec une résistance en pull-down et interrupteur avec une résistance en pull-up :

On peut aussi utiliser cette structure conditionnelle pour réaliser des conditions en relation avec des variables.

Par exemple :

if(Temperature > 30) Ventilation = 1;
else                        Ventilation = 0;

Le while

Le « while() » permet de faire des boucles tant que la condition est respectée. Lorsque la condition n’est plus respectée, le programme quitte cette structure pour poursuivre le programme.

Exemple d'utilisation :

while(a < 100)
{
   LED = 1;
   a++;
}
LED = 0;

La LED s'éteindra seulement lorsque la variable aura atteint 100.

On peut aussi utiliser le « while() » pour créer une boucle infinie. En inscrivant « while(1) », le programme exécute en continu cette partie puisque la structure est toujours vérifiée.

Le switch

Le « switch() » sert à gérer plusieurs actions de même type avec seulement une variable. Pour chaque action, on doit créer un « case ».  Action 1 : case 1, action 2 : case 2, action 3 : case 3... On associe la valeur de la variable à chacun des cases. Lorsque la variable est à 1, le « swich() » exécute le case 1. Lorsqu'il est à 2, il exécute le case 2 etc...

Dans le programme, on doit rédiger la structure conditionnelle comme suit :

switch(variable)
{
    case 1:
    // action1;
    break;

    case 2:
    // action2;
    break;
}

La variable peut être n'importe quoi. Un mot ou juste une lettre. Le mot « break; » sert à séparer les actions. Lorsque l'action est terminé, le « break; » empêche le microcontrôleur de faire les autres actions et il fait sortir le programme de la structure.

Le for

Le « for() » sert principalement à faire des boucles de courte durée. Comme le « if() », il exécute une action seulement si la condition est remplie. Cependant, contrairement au  « if() », le « for() » ne fonctionne qu’avec des variables.

Pour déclarer ce type de structure, on doit rédiger comme suit :

for(initialisation; comparaison; incrémentation)
for(x = 0; x < 200; x++)

Initialisation veut dire : initialisation de la variable. Ex : x = 0;

Comparaison veut dire qu'on lui impose une condition. Ex : x < 200; Tant que cette condition est respectée, le programme relit cette structure.

Incrémentation veut dire que l'on incrémente la variable. La plus part du temps, l’incrémentation est de +1 ou -1 et on écrit «x++» ou «x--».

Lorsque qu'on écrit : for(;;), cela veut dire qu'on ne lui donne aucune condition, donc on crée une boucle infinie comme le «while(1)».

Si on écrit : for(x = 0; x < 200; x++) Le microcontrôleur va relire la fonction 200 fois avant de réaliser l'action. Si on avait mis le signe <=, il aurait eu à relire la fonction 201 fois au lieu de 200.

Sans abonnement Abonnés et Abonnés VIP
 <--- Schéma  <--- Schéma Complet
<--- Code en Hexa    <--- Code en C modifiable

Allez voir ma vidéo Youtube : [3] Programmation PIC en C : Entrée / Sortie (I/O)