// Interruption sur une entrée // EPFL 2020, 2021, Pierre-Yves Rochat, pyr@pyr.ch #include #include #include void main(void) { WDTCTL = WDTPW | WDTHOLD; InitCarte2025(); AfficheLedBleues(2); P1DIR |= 1<<0; P2IES |= (1<<1); // Mode d'interruption : flanc descendant (donc poussoir pressé) P2IE |= (1<<1); // Interruption P1 activée sur le poussoir P2IFG &=~(1<<1); // Fanion d'interruption remis à zéro __enable_interrupt(); // Active l'ensemble des interruptions while(1) { // il n'y a rien à faire dans la boucle principale ! } } // Routine d'interruption associée au Port P2 #pragma vector=PORT2_VECTOR // syntaxe spécifique pour les interruptions __interrupt void Port_2(void) { Led1Toggle; // Toggle la led rouge sur la carte piggy P2IFG &= ~(1<<1); // Fanion d'interruption correspondant remis à 0 P1OUT ^= 1<<0; // Toggle la led rouge sur la petite carte }