Вот код:
Код
#include <msp430g2231.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
CCR0 = 32768; // Generate an interrupt every 32768 ACLK cycles.
TACTL = TASSEL_1 + MC_1; // 32 KHz ACLK, contmode
CCTL0 = CCIE; // CCR0 interrupt enabled
_BIS_SR(GIE);
while (1) {}
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // Toggle P1.0
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
CCR0 = 32768; // Generate an interrupt every 32768 ACLK cycles.
TACTL = TASSEL_1 + MC_1; // 32 KHz ACLK, contmode
CCTL0 = CCIE; // CCR0 interrupt enabled
_BIS_SR(GIE);
while (1) {}
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // Toggle P1.0
}
По идее лампочка должна гореть ровно 1 сек., но горит она гораздо дольше. И еще, когда останавливаю дебаггер, программа перестает выполняться. Заранее спасибо за помощь.