映射MSP430中断向量地址到RAM中,可参考如下实现代码:
__no_init void (*intvec1[16])() @ 0x200; //定义指向函数指针的数组,用于映射新的中断向量
//重新映射中断向量地址
#pragma vector=0x0 //
__interrupt void intvec_0(void)
{
asm("push R15"); asm("mov #0x200,R15"); asm("call @R15"); asm("pop R15");
}
然后在应用程序中进行中断向量映射,如intvec1[TIMERA0_VECTOR/2]=Timer_A_0;即在TIMERA0中断时执行Timer_A_0()函数。这样做的优点是可以在运行时动态决定中断函数入口
[
本帖最后由 hansonhe 于 2012-4-28 16:34 编辑 ]