2019-03-24 12:47发布
原帖由 ljtyqb 于 2013-3-29 08:42 发表 有谁会msp430中断嵌套,麻烦指教一下。我想实现ADC12中断时能收其他中断,但在ADC12中断设置_EINT();后单片机会不停地自动复位。有谁知道这方面的请指教一下,谢谢啦
最多设置5个标签!
#pragma vector=TIMERA0_VECTOR
__interrupt void ta0_isr(void)
{
ADC12CTL0|=ENC+ADC12SC;
}
//ADC12采样包括中断
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void)
{
_EINT();
ADC12CTL0 &= ~ENC;
TEMP1=ADC12MEM0;
……
}
可能不断的嵌套导致堆栈溢出
#pragma vector=PORT1_VECTOR //P1中断服务子程序
__interrupt void P1_Interrupt(void)
{
if(P1IFG&0x1f)
{
switch(P1IFG&0x1f) //判断是哪个键按下
{
case 0x01:
delay_ms(20);
Reset();
TACTL|=MC0; //Timer_A增计数模式
break;
case 0x02:
delay_ms(20);
TACTL-=MC0; //Timer_A暂停模式
delay_ms(500);
Basepoit();
break;
case 0x04:
delay_ms(20);key=3;break;
case 0x08:
delay_ms(20);key=4;break;
case 0x10:
delay_ms(20);key=5;break;
}
}
P1IFG=0;
}
一周热门 更多>