#include <msp430.h>
/*
* main.c
*/
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P2DIR|=BIT2;
P1DIR &=~BIT6;
P1SEL |=BIT6;
TA1CCTL0=CCIE;
TA1CCR0= 4000;
TA1CTL=TASSEL_0+MC_1+TACLR;
__bis_SR_register(GIE);
}
#pragma vector = TIMER1_A0_VECTOR
__interrupt void TIMER1_A0_ISR(void)
{
P2OUT^=BIT2;
}
Bruce Wei:
请参考MSP430ware里面的例程。谢谢。
lin chen5:
没有while(1);主循环,程序早执行完了。
Lichen Wang:
#include <msp430.h>
/* * main.c */
int main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P2DIR|=BIT2;
P1DIR &=~BIT6; P1SEL |=BIT6; TA1CCTL0=CCIE; TA1CCR0= 4000; TA1CTL=TASSEL_0+MC_1+TACLR; __bis_SR_register(GIE + CPUOFF); } #pragma vector = TIMER1_A0_VECTOR __interrupt void TIMER1_A0_ISR(void) { P2OUT^=BIT2; }
kqian0327:
你好,
你的主程序缺少while(1)死循环。
程序以及跑飞了。
Lichen Wang:
回复 kqian0327:
加死循環不如用 CPUOFF