为什么定时中断选这其他时钟源,就进不了中断呢?代码如下
#include <msp430.h>
#include <msp430g2553.h>
/*
* main.c
*/
int main(void) {
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR |= 0x01; // P1.0 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 50000;
TACTL = TASSEL_2 + MC_1+ ID_3; // SMCLK, upmode
//TACTL = TASSEL_1+ MC_1+ ID_3; // ACLK, upmode就不能进中断
__bis_SR_register(GIE); // Enter LPM0 w/ interrupt
return 0;
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= BIT0; // Toggle P1.2
}
将中断源换成aclk
TACTL = TASSEL_2 + MC_1+ ID_3; // SMCLK, upmode
//TACTL = TASSEL_1+ MC_1+ ID_3; // ACLK, upmode就不能进中断
这是为什么,是不是需要进行其他设置?难道默认其他时钟都不工作么? |