« Kidule Ascenseur » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-\b(S|s)i il +\1'il)
m Robot : Remplacement de texte automatisé (-\b(moi|Moi|eux|Eux|lui|Lui|elles?|Elles?) m[êe]me(s?)\b +\1-même\2)
Ligne 48 :
Dans ce fichier, on fait deux choses:
# on donne des noms intelligents aux bits d'entrées / sorties, qui correspondent aux deux Kidules
# on a une fonction '''setupHard()''' qui permet d'initialiser correctement les registres TRISx pour indiquer s'si il s'agit d'entrées ou de sorties
# définir des mots parlant pour '''Allume''', '''Eteint''' ou '''Presse''' plutôt que d'avoir à tout le temps réflechir s'si il faut un 1 ou un 0 dans ce cas
 
== HardwareAsc.h==
Ligne 218 :
#define Presse 0
</source>
Comme pour la Led, on voit que le bouton du Rez est connecté sur la patte RB2 du processeur qui a lui -même une variable PORTB qui contient RB2. Cette variable peut cette fois être lue (car c'est une entrée) et elle vaut 0 si le bouton et pressé (= 0 Volt) et 1 s'si il n'est pas pressé (5Volts). Comme pour la LED, c'est plus simple de donner des mots différents avec #define pour que l'on comprenne bien ce qui se passe.
 
== 1er Exercice==
Ligne 476 :
}}
 
Pour traduire notre graphe d'états en code, nous allons écrire un état par '''case''' du '''switch'''. Dans la première partie de l'état, on va mettre ce que l'on doit faire dans cet état comme par exemple '''Monter=...''', '''Descendre=...''', allumer des leds etc... Puis nous allons regarder s'si il a a une transition possible avec un '''if(...) { Etat = ''nouvel_etat''}'''.
De cette manière, à chaque fois que la fonction GererAscenseur() est appelée, on va effectuer les actions de cet état, puis regarder si la prochaine fois on doit exécuter un autre état.