大家好 在此想向大家請教一下 為何我已經初始化全中斷了我的程式卻無法進入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;
}
}