Modifications

Aller à : navigation, rechercher

Controleur de Lumière

688 octets ajoutés, 22 avril 2014 à 20:58
interruptions
J'ai pour l'instant pas implémenté la fonction warning.
Pour mettre en action les interruptions, j'ai renseigné la fonction '''ISR(PCINT0_vect) ''' qui est appelée à chaque interruption sur les pins concernés. Il faut donc écrire dans cette fonction les tests et les actions à effectuer en cas d'actionnement d'un des pins surveillés
<code lang=c>
return;
}
 
</code>
 
 
Ensuite, dans le début du programme, j'ai activé le port d'interruption lié aux pins 0 à 7, soit PCIE0
 
Puis réglé le masque de surveillance sur les pins qui m'interressent (pour ne pas que la routine se déclanche lorsque les sorties sont activées
 
enfin, j'ai activé le mode interrupt :
 
<code lang=c>
GIMSK |= (1<<PCIE0); // enable PCIE0 interrupt
PCMSK0 = (1<<PCINT4)|(1<<PCINT5)|(1<<PCINT6); // pin change mask: listen to portA 4, 5 and 6
sei(); //Enable Global Interrupt
</code>
0
6 691
modifications

Menu de navigation