程式進不去timer interrupt

43 views
Skip to first unread message

曾郁凱

unread,
Feb 4, 2016, 11:01:19 AM2/4/16
to [LaunchPad互動裝置] TI MSP430 LaunchPad 使用者討論區
大家好 在此想向大家請教一下 為何我已經初始化全中斷了我的程式卻無法進入timer interrupt 
另外我也發現道將_BIS_SR(GIE);改為_BIS_SR(CPUOFF+GIE);timer interrup才能執行timer interrupt 但是卻反而無法直行while迴圈裡的程式

#define seg_interval     999
#define button_interval  49
#define seg_event 0x01
#define button_event 0x02
unsigned int seg_num = 0;
volatile unsigned int system_event =0;
volatile unsigned long system_ticks=0;


void time_count(void){
P1OUT =seven_seg[seg_num];
seg_num++;
if(seg_num==10){
seg_num=0;
}
}

void time_reset(void){

}

void main(void){
WDTCTL = WDTPW + WDTHOLD;     // Stop WDT
CCTL0 = CCIE;                             // CCR0 interrupt enabled
TACTL = TASSEL_0 + MC_1+TACLR;           // SMCLK/8, upmode
CCR0 = 135;
P1OUT &= 0x00;               // Shut down everything
P1DIR |= 0xff;
__enable_interrupt();
_BIS_SR(GIE);


while(1){

if(system_event & seg_event){
time_count();
}
if(system_event & button_event){
// time_stop();
}

}
}


#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A_ISR (void)
{
system_ticks++;
if((system_ticks % seg_interval) == 0){
system_event |= seg_event;
}

if((system_ticks % button_interval) == 0){
system_event |= button_event;
}
}

喜同學

unread,
Aug 9, 2016, 11:59:44 PM8/9/16
to [LaunchPad互動裝置] TI MSP430 LaunchPad 使用者討論區
這樣應該表示CPU困在 中斷服務程式裡跳不出來
修改中斷服務程式看看
Reply all
Reply to author
Forward
0 new messages