Embedded 多重ISR';msp430中的s

Embedded 多重ISR';msp430中的s,embedded,msp430,Embedded,Msp430,我正在使用CCS 5.5编码msp430g2553。我的代码中启用了两个中断。我无法理解如何为这两个中断编写两个不同的ISR。我应该如何在代码中指出哪个ISR对应于哪个中断。 有人能帮我解释一下语法吗?从中可以看出,这是三种方法之一: 使用GCC\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu #define TIMER_A0 20 volatile int tick = 0 ; __attribute

我正在使用CCS 5.5编码msp430g2553。我的代码中启用了两个中断。我无法理解如何为这两个中断编写两个不同的ISR。我应该如何在代码中指出哪个ISR对应于哪个中断。 有人能帮我解释一下语法吗?

从中可以看出,这是三种方法之一:

使用GCC
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

#define TIMER_A0 20
volatile int tick = 0 ;
__attribute__((interrupt(TIMER_A0))) void tick_isr() 
{
    tick++ ;
}
#define TIMER_A0 20
volatile int tick = 0 ;
#pragma vector=TIMER_A0
__interrupt void tick_isr( void )
{
    tick++ ;
}
#define TIMER_A0 20
volatile int tick = 0 ;
#pragma interrupt( tick_isr )
#pragma vector=TIMER_A0
void tick_isr( void )
{
    tick++ ;
}
使用
\u中断
+
\pragma向量

#define TIMER_A0 20
volatile int tick = 0 ;
__attribute__((interrupt(TIMER_A0))) void tick_isr() 
{
    tick++ ;
}
#define TIMER_A0 20
volatile int tick = 0 ;
#pragma vector=TIMER_A0
__interrupt void tick_isr( void )
{
    tick++ ;
}
#define TIMER_A0 20
volatile int tick = 0 ;
#pragma interrupt( tick_isr )
#pragma vector=TIMER_A0
void tick_isr( void )
{
    tick++ ;
}
使用
#pragma中断
+
#pragma向量

#define TIMER_A0 20
volatile int tick = 0 ;
__attribute__((interrupt(TIMER_A0))) void tick_isr() 
{
    tick++ ;
}
#define TIMER_A0 20
volatile int tick = 0 ;
#pragma vector=TIMER_A0
__interrupt void tick_isr( void )
{
    tick++ ;
}
#define TIMER_A0 20
volatile int tick = 0 ;
#pragma interrupt( tick_isr )
#pragma vector=TIMER_A0
void tick_isr( void )
{
    tick++ ;
}
GCC语法可能是最简单的。请注意,C++代码中的< > > >实用型中断< /代码>的语法不同:

#pragma interrupt
#pragma vector=TIMER_A0
void tick_isr( void )
{
    tick++ ;
}

你也知道energia的编程吗?我甚至不知道CCS中的MSP430编程-我只知道如何阅读手册!;-)