TI中文支持网
TI专业的中文技术问题搜集分享网站

Time Interrupt service routine無法返回主程式

Hi All,

使用MSP-EXP430F5438應用模組,使用的MCU為M430F5438A,compiler軟體CCS,使用範例驗證MSP與App1_MSPBoot_F5529_I2C,

MCU CMD檔&Driver設定我有針對我要使用的MCU修改過設定。

我現在遇到的問題是   App1_MSPBoot_F5529_I2C範例內Time Interrupt service routine,一旦程式進入中斷程序,

程式似乎就沒有返回main,中斷程序會重複中斷。

在麻煩各位指導問題,謝謝。

以下是我程式:

//—————————————————————————————

void main( void )

{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;

// Toggle LED1 in P1.1
P1DIR |= BIT1 | BIT0;
P1OUT |= BIT1 | BIT0;
__delay_cycles(500000);
P1OUT &= ~(BIT1 | BIT0);
__delay_cycles(500000);
P1OUT |= BIT1 | BIT0;
__delay_cycles(500000);
P1OUT &= ~(BIT1 | BIT0);
__delay_cycles(500000);

// Start P2.1 (S2 button) as interrupt with pull-up
P2OUT |= BIT6;
P2REN |= BIT6;
P2IES |= BIT6;
P2IE |= BIT6;

// Start Timer interrupt
TA0CCTL0 = CCIE; // CCR0 interrupt enabled
TA0CCR0 = 0xCFFF;
TA0CTL = TASSEL_1 + MC_1; // ACLK, upmode

__bis_SR_register(LPM3_bits + GIE);

while (1)                      //程式無法進入此迴圈,所以BIT0燈號沒有閃爍。

{
P1OUT ^= BIT0;
__delay_cycles(500000);
}
}

//—————————————————————————————

__interrupt void Timer_A (void)
{
P1OUT ^= BIT1; // Toggle P1.0           //可以反覆中斷,BIT1燈號會閃爍。
TA0CCTL0 &= ~CCIFG;
}

//—————————————————————————————

//中斷向量配置

const uint16_t ProxyVectorTable[] =
{
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(0) RTC_A
0x4030, (uint16_t)P2_Isr, // APP_PROXY_VECTOR(1) PORT2
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(2) USCI_B3
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(3) USCI_A3
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(4) USCI_B1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(5) USCI_A1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(6) PORT1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(7) TIMER1_A1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(8) TIMER1_A0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(9) DMA
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(10) USCI_B2
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(11) USCI_A2
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(12) TIMER0_A1
0x4030, (uint16_t)Timer_A, // APP_PROXY_VECTOR(13) TIMER0_A0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(14) ADC12_A
0x4030, (uint16_t)USCI_B0_ISR, // APP_PROXY_VECTOR(15) USCI_B0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(16) USCI_A0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(17) WDT
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(18) TB1
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(19) TB0
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(20) UNMI
0x4030, (uint16_t)Dummy_Isr, // APP_PROXY_VECTOR(21) SYSNMI
};

在麻煩各位指導問題,謝謝。

Susan Yang:

很抱歉,我对您的问题有些不太理解

“使用MSP-EXP430F5438應用模組,使用的MCU為M430F5438A,compiler軟體CCS,使用範例驗證MSP與App1_MSPBoot_F5529_I2C,”

您的主要目的是什么呢?

灰小子:

建议直接使用msp430f5438的例程

www.ti.com/…/slac166

Simon Simon:

回复 Susan Yang:

您好,不好意思,我有找到問題點了。謝謝。

另外請教一下,由於我這份專案,含有MSP與MAIN CODE memory,MAIN CODE使用sample code App1_MSPBoot_F5529_I2C,為什麼我沒有辦法run debug mode?

CCS compiler軟體哪裡可以設定run main start address?

赞(0)
未经允许不得转载:TI中文支持网 » Time Interrupt service routine無法返回主程式
分享到: 更多 (0)