Kidule Dé/Tester si un Bouton est pressé (Entrée)
Pour tester si un Bouton est pressé, on peut faire un test avec l'instruction if
#include "hardwareDe.h" // Toutes les définitions
void loop()
{
if (Poussoir==Presse) {
Led0 = Allume;
}
else {
Led0 = Eteint;
}
}
Voilà, c’est tout simple. Si cela te suffit comme explications, tu peux aller à la suite Kidule Dé/Déclarer et initialiser le Hardware
Les entrées sorties
[modifier | modifier le wikicode]Le PIC permet de décider pour chaque PIN (patte du chip) si c’est une entrée (par exemple pour lire un bouton) ou une sortie (par exemple pour allumer une LED). Pour cela, il faut bien comprendre comment est fabriqué une "patte" du chip. Certaine pattes peuvent faire les choses encore plus spéciale comme lire une tension ou faire un compteur, mais on n'utilise pas cela ici.
Une Entrée
[modifier | modifier le wikicode]Pour faire qu'une pin devienne une entrée, il faut d’abord écrire un 1 dans le bit correspondant de TRISx. Cela coupe la partie Data Latch [1] de la pin (symbolisé par le triangle ou il y a une croix en rouge).
Lorsque l’on ne lit pas l'entrée, l'état de la pin est mis en permanence dans le latch[2]. Au moment de la lecture, on verrouille le latch pour éviter que la valeur risque de changer en cours de route.
pour lire le bit 0 du PORTA, on peut écrire
if (PORTAbits.PORTA0 == 0) {
/* si 1*/
}
else {
/* si 0*/
}