MSP430學(xué)習(xí)點(diǎn)滴——看門狗定時(shí)器
控制寄存器WDTCTL由兩部分組成,高8位用作口令,低8位實(shí)現(xiàn)對WDT的控制操作。要實(shí)現(xiàn)對WDT的操作控制,必須先寫入高字節(jié)看門狗口令??诹顬?AH,頭文件里一般將WDTPW宏定義為5AH.WDTCTL寄存器各位定義如下:
15~8 7 6 5 4 3 2 1 0
口令 HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS0
IS0 IS1 選擇看門狗定時(shí)器的定時(shí)輸出,其中T是WDTCNT的輸入時(shí)鐘源周期。一般宏定義WDTIS0為0x0001,WDTIS1為0x0002.
SSEL 選擇WDTCNT的時(shí)鐘源。一般宏定義WDTISSEL為0x0004.
CNTCL 當(dāng)該位為1時(shí)清除WDTCTL。一般宏定義WDTCNTL為0x0008.
TMSEL 工作模式的選擇。一般宏定義WDTTMSEL為0x0010.
NMI 選擇RST/NMI引腳功能,在PUC后被復(fù)位。一般宏定義WDTNMI為0x0020.
NMIES 選擇中斷的邊沿觸發(fā)方式。一般宏定義WDTNMIES為0x0040.
HOLD 停止看門狗定時(shí)器工作降低功耗。一般宏定義WDTHOLD為0x0080.
因此,可以根據(jù)WDTCTL寄存器的TMSEL和HOLD控制位設(shè)置WDT工作在看門狗模式、定時(shí)器模式和低功耗模式。
C語言實(shí)現(xiàn)低功耗模式的語句:
WDTCTL = WDTPW + WDTHOLD;
C語言實(shí)現(xiàn)定時(shí)器模式的語句:
WDTCTL = WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0;
C語言實(shí)現(xiàn)看門狗模式的語句:
設(shè)置看門狗:WDTCTL = WDT_MRST_0_5 = WDTPW+WDTCNTCL+WDTIS1;
清看門狗:WDTCTL = WDTPW+WDTCNTCL;(默認(rèn)32ms)
評論