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 C : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Partager