|
一、用看門狗低功耗模式控制LED閃爍,低功耗大都在低中斷模式下運行。
#include "MSP430G2553.h"
int main( void )
{
WDTCTL = WDT_ADLY_250; //watch dog timer SET 250ms(include 1000、250、16、1.9(1_9))
IE1 |=WDTIE; //enable WDT interrupt
P1DIR |=BIT6 + BIT0; //Set P1.0 P1.6 for out
_EINT(); //OPEN interrupt
while(1)
{
__bis_SR_register(LPM3_bits); //working Low power 3 mode
}
}
#pragma vector =WDT_VECTOR
__interrupt void mmm()
{
P1OUT ^=0x41; //LED flash
}
二、用看門狗復(fù)位模式啟動LED閃爍,在一定時間復(fù)位
#include "MSP430G2553.h"
int main( void )
{
unsigned int i;
//Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P1DIR |=BIT6 + BIT0; //設(shè)為輸出
P1OUT &=~(BIT6 + BIT0); //滅
for(i=0;i<20000;i++); //延遲
P1OUT |=BIT6 +BIT0; //亮
WDTCTL =WDT_ARST_1000; //復(fù)位時間1000ms(可復(fù)位時間1000、250、16、1.9(1_9))
while(1); //等待復(fù)位時間到從頭執(zhí)行
}
|
|