2016-07-04 19 views

答えて

2

機能が使用コンパイラに依存して、#pragma vector=nr又は__attribute__((interrupt(nr)))と割り込みベクタに接続されています。

機能の名前は関係ありません。そのベクトル番号だけです。

ハードウェアモジュールの後に関数の名前を付けることができます(kfxの回答例を参照)。実際の関数の後にハードウェアの名前を付けると意味があります(例:red_button_gpio_interrupt()port1_interrupt())。

2

あなたは(特にmsp430f5438aのために、他のMCUモデルは、独自のヘッダファイルを持っている)msp430/include/msp430f5438aで説明コメントとともに#definesのリストを見つけることができます。そこから

コピー&ペースト:

/************************************************************ 
* Interrupt Vectors (offset from 0xFF80) 
************************************************************/ 

#define RTC_VECTOR   (0x0052) /* 0xFFD2 RTC */ 
#define PORT2_VECTOR  (0x0054) /* 0xFFD4 Port 2 */ 
#define USCI_B3_VECTOR  (0x0056) /* 0xFFD6 USCI B3 Receive/Transmit */ 
#define USCI_A3_VECTOR  (0x0058) /* 0xFFD8 USCI A3 Receive/Transmit */ 
#define USCI_B1_VECTOR  (0x005A) /* 0xFFDA USCI B1 Receive/Transmit */ 
#define USCI_A1_VECTOR  (0x005C) /* 0xFFDC USCI A1 Receive/Transmit */ 
#define PORT1_VECTOR  (0x005E) /* 0xFFDE Port 1 */ 
#define TIMER1_A1_VECTOR (0x0060) /* 0xFFE0 Timer1_A3 CC1-2, TA1 */ 
#define TIMER1_A0_VECTOR (0x0062) /* 0xFFE2 Timer1_A3 CC0 */ 
#define DMA_VECTOR   (0x0064) /* 0xFFE4 DMA */ 
#define USCI_B2_VECTOR  (0x0066) /* 0xFFE6 USCI B2 Receive/Transmit */ 
#define USCI_A2_VECTOR  (0x0068) /* 0xFFE8 USCI A2 Receive/Transmit */ 
#define TIMER0_A1_VECTOR (0x006A) /* 0xFFEA Timer0_A5 CC1-4, TA */ 
#define TIMER0_A0_VECTOR (0x006C) /* 0xFFEC Timer0_A5 CC0 */ 
#define ADC12_VECTOR  (0x006E) /* 0xFFEE ADC */ 
#define USCI_B0_VECTOR  (0x0070) /* 0xFFF0 USCI B0 Receive/Transmit */ 
#define USCI_A0_VECTOR  (0x0072) /* 0xFFF2 USCI A0 Receive/Transmit */ 
#define WDT_VECTOR   (0x0074) /* 0xFFF4 Watchdog Timer */ 
#define TIMER0_B1_VECTOR (0x0076) /* 0xFFF6 Timer0_B7 CC1-6, TB */ 
#define TIMER0_B0_VECTOR (0x0078) /* 0xFFF8 Timer0_B7 CC0 */ 
#define UNMI_VECTOR   (0x007A) /* 0xFFFA User Non-maskable */ 
#define SYSNMI_VECTOR  (0x007C) /* 0xFFFC System Non-maskable */ 
#define RESET_VECTOR  (0x007E) /* 0xFFFE Reset [Highest Priority] */ 
+0

ありがとうございます!同じ質問を参照すると、 '#pragma vector = TIMERA0_VECTOR' '__interrupt void Timer_A(void)'はどういう意味ですか? –

+0

@EuegevHaeyiyv TIMERA0_VECTOR割り込みを処理する 'Timer_A'という割り込みサービスルーチンを定義するIARコンパイラの構文に似ています(ただし、その本体はありません)。 – kfx

関連する問題