Interruptions en C sur Code Composer
Bonjour à tous,
Je suis débutant en informatique et dans le cadre d'un projet pour mes études je dois utiliser plusieurs interruptions.
Je dois coder sur code composer studio en C.
Pour faire simple je dois avoir deux interruptions qui se déclenchent lorsque j'appuie sur un bouton ; on utilise un MSP430F5529
Je souhaiterais déclencher des interruptions sur les ports :
- P1.3 en front montant
- P8.2 en front montant également
J'ai réussi à programmer pour le premier (P1.3) mais je ne sais pas comment faire pour le second. Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| #include <msp430.h>
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; // Arrêt du Watchdog
P1DIR |= (BIT4+BIT5); //initialisation des différents ports afin d'allumer des leds et vérifier que línterruption se declenche
P1DIR &=~ (BIT3);
P1OUT &=~ (BIT5);
P1OUT |= (BIT4);
P1IES &= ~ (BIT1);//sur front montant &= ~
P1IFG &= ~(BIT1); //flag eteint
P1IE |= (BIT3); //Sur la pate P1.3 on fait l4interruption
_BIS_SR (GIE); /* interruption générale activée */
while(1)
{
//On ne fait rien, on attend que linterruption se declenche
}
}
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
if( (P1IN & BIT3) != 0 ) // Si jáppuie sur le bouton línterruption se declenche et allume la led
{
P1OUT |= (BIT5);
}
P1OUT &= ~(BIT5);; //reinitialise les sorties, on eteint la led une fois le bouton relache
P1IFG &= ~(BIT1); //flag effacer
} |