!!!关于MSP430中断向量表重映射的问题咨询????求指教

2019-03-24 12:28发布

关于MSP430中断向量表重映射的问题咨询????求指教
在做关于MSP430的程序无线更新的一个东西,在BL程序中写了如下的中断向量列表:
#pragma vector=0
__interrupt void intec_0(void)
{
  asm("br &0xE9E0;");
}
#pragma vector=2
__interrupt void intec_1(void)
{
  asm("br &0xE9E2;");
}
#pragma vector=4
__interrupt void intec_2(void)
{
  asm("br &0xE9E4;");
}
#pragma vector=6
__interrupt void intec_3(void)
{
  asm("br &0xE9E6;");
}
#pragma vector=8
__interrupt void intec_4(void)
{
  asm("br &0xE9E8;");
}
#pragma vector=10
__interrupt void intec_5(void)
{
  asm("br &0xE9EA;");
}
#pragma vector=12
__interrupt void intec_6(void)
{
  asm("br &0xE9EC;");
}
#pragma vector=14
__interrupt void intec_7(void)
{
  asm("br &0xE9EE;");
}
#pragma vector=16
__interrupt void intec_8(void)
{
  asm("br &0xE9F0;");
}
#pragma vector=18
__interrupt void intec_9(void)
{
  asm("br &0xE9F2;");
}
#pragma vector=20
__interrupt void intec_10(void)
{
  asm("br &0xE9F4;");
}
#pragma vector=22
__interrupt void intec_11(void)
{
  asm("br &0xE9F6;");
}
#pragma vector=24
__interrupt void intec_12(void)
{
  asm("br &0xE9F8;");
}
#pragma vector=26
__interrupt void intec_13(void)
{
  asm("br &0xE9FA;");
}
#pragma vector=28
__interrupt void intec_14(void)
{
  asm("br &0xE9FC;");
},
请问在用户应用程序中的,中断程序应该怎么写啊,BL程序中已经指向了虚拟的中断向量地址,用户应用xcl文件中也已经更改了虚拟中断向量的地址,然后再用户应用程序中,我直接写以下的程序:
#pragma vector=UART1RX_VECTOR
__interrupt void UART1_RXISR(void)
{
  uchar x;
  x=RXBUF1;
  if(x=='$')
  {
    send1char(0x00);
    hand_n++;
    if(hand_n>=10)
    {
      hand_n=0;
      send1char(0x11);
      Eraseflash(0xE900);//擦除虚拟中断向量表
      asm("mov & 0xFFFE,PC;");
      
    }
   
  }
}
可是根本无法进入中断,求哪位大神指导下啊,急急急啊 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
linda
2019-03-25 00:16
解决了就好 :)

一周热门 更多>

相关问题

    相关文章