Forum: Mikrocontroller und Digitale Elektronik Interrupts MSP430 Port2


von reflection (Gast)


Lesenswert?

Salu zusammen

Ich habe an Port2 meines MSP430F149 einen Minijoystick, wie er in 
Mobiltelefonen verbaut wird, angeschlossen.

Nun möchte ich gerne einen Interrupt auslösen wenn der Joystick 
IRGENDWIE gedrückt wird. Muss also den Port2 Interrupt verwenden. In der 
ISR möchte ich dann auswerten welche Richtung gedrückt wurde.

Meine eigentliche Frage ist:

Wie heisst der Interruptvektor? Also was muss ich genau schreiben. Für 
den RX des Uart sieht das ja z.B. so aus:

interrupt (UART1RX_VECTOR) usart1_rx(void)

Wie muss diese Zeile heissen damit ich reinspringe wenn der Port2 einen 
Interrupt auslöst? Wo würde ich das selber finden?

Gruss reflection

von Christian R. (supachris)


Lesenswert?

Womit programmierst du denn? GCC? IAR? Sieht nach GCC aus. Dann schau 
einfach mal in die msp430x16x.h oder was du auch immer hast, da stehn 
alle Vektoren drin.

Aus der msp430x16x.h:
1
#define DACDMA_VECTOR       0   /* 0xFFE0 DAC12/DMA */
2
#define PORT2_VECTOR        2   /* 0xFFE2 Port 2 */
3
#define USART1TX_VECTOR     4   /* 0xFFF4 USART 1 Transmit */
4
#define USART1RX_VECTOR     6   /* 0xFFF6 USART 1 Receive */
5
#define PORT1_VECTOR        8   /* 0xFFE8 Port 1 */
6
#define TIMERA1_VECTOR      10  /* 0xFFEA Timer A CC1-2, TA */
7
#define TIMERA0_VECTOR      12  /* 0xFFEC Timer A CC0 */
8
#define ADC12_VECTOR        14  /* 0xFFEE ADC */
9
#define USART0TX_VECTOR     16  /* 0xFFF0 USART 0 Transmit */
10
#define USART0RX_VECTOR     18  /* 0xFFF2 USART 0 Receive, I2C tx/rx */
11
#define WDT_VECTOR          20  /* 0xFFF4 Watchdog Timer */
12
#define COMPARATORA_VECTOR  22  /* 0xFFF6 Comparator A */
13
#define TIMERB1_VECTOR      24  /* 0xFFF8 Timer B CC1-2, TB */
14
#define TIMERB0_VECTOR      26  /* 0xFFFA Timer B CC0 */
15
#define NMI_VECTOR          28  /* 0xFFFC Non-maskable */

von reflection (Gast)


Lesenswert?

Vielen Dank für die Antwort. Ich progge mit mspgcc. Habs jetzt auch 
gefunden!

Gruss reflection

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.