|
回复 楼主 zhgb1981 的帖子
#include
#include "BoardConfig.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BoardConfig(0xb8); //关闭数码管、流水灯和电平转换
P3DIR |= BIT4; // P3.4 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 50000;
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P3OUT ^= BIT4; // Toggle P3.4
CCR0 += 50000; // Add Offset to CCR0
}
#include
#include "BoardConfig.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BoardConfig(0xb8);
P3DIR |= BIT4; // P3.4 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 20000;
TACTL = TASSEL_2 + MC_1; // SMCLK, upmode
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
P3OUT ^= BIT4; // Toggle P3.4
}
#include
#include "BoardConfig.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BoardConfig(0xb8);
P3DIR |= BIT4; // P3.4 output
TACTL = TASSEL_2 + MC_2 + TAIE; // SMCLK, contmode, interrupt
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch( TAIV )
{
case 2: break; // CCR1 not used
case 4: break; // CCR2 not used
case 10: P3OUT ^= BIT4; // overflow
break;
}
}
#include
#include "BoardConfig.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BoardConfig(0xb8);
P3DIR |= BIT4; // P3.4 output
TACTL = TASSEL_1 + MC_2 + TAIE; // ACLK, contmode, interrupt
_BIS_SR(LPM3_bits + GIE); // Enter LPM3 w/ interrupt
}
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch( TAIV )
{
case 2: break; // CCR1 not used
case 4: break; // CCR2 not used
case 10: P3OUT ^= BIT4; // overflow
break;
}
}
个人意见,你看看吧 |
|