MSP430學(xué)習(xí)小結(jié)
由于我用過AVR的單片機(jī),和AVR的相比,MSP430的看門狗要靈活的多,首先默認(rèn)看門狗是開著的,因此如果不使用看門狗的話要關(guān)閉,指令如下:
WDTCTL = WDTPW + WDTHOLD
如果打開看門狗則需要在程序中清零,指令如下:
WDTCTL=WDTPW+WDTCNTCL
這只是基本的應(yīng)用,430的看門狗要稍微復(fù)雜一些,首先從IAR的頭文件中看看定義了幾種工作狀態(tài):
2.WDT通過SSEL 和IS0 IS1 3位可以確定與8種時(shí)鐘源相關(guān)的時(shí)間(ACLK=32768Hz,SMCLK=1MHz)
SMCLK=1MH(對(duì)應(yīng)8種)
WDT_MDLY_32
WDT_MRST_32
WDT_MDLY_8
WDT_MRST_8
WDT_MDLY_0_5
WDT_MRST_0_5
WDT_MDLY_0_064
WDT_MRST_0_064
ACLK=32768Hz(對(duì)應(yīng)8種)
WDT_ADLY_1000
WDT_ARST_1000
WDT_ADLY_250
WDT_ARST_250
WDT_ADLY_16
WDT_ARST_16
WDT_ADLY_1_9
WDT_ARST_1_9
在頭文件中查得:
代碼解釋:
WDTCTL =WDT_ARST_1000;
在頭文件中看到WDT_ARST_1000的定義為:(WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2)
即上一條指令執(zhí)行的是WDTCTL= WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2。
WDTCTL設(shè)置每條命令中必有WDTPW+..因?yàn)閃DTPW代表寫WDTCTL的時(shí)候高八位寫05Ah,讀的時(shí)候高八位為069h,否則觸發(fā)PUC。
WDTCNTCL:看門狗計(jì)數(shù)器清零.
WDTSSEL0:表示W(wǎng)DTSSEL第0位置1,既0001.
WDTIS2: 表示W(wǎng)DTIS2第2位置1,既0100.
設(shè)置的含義看MSP4305438 PDF文檔
下面介紹兩個(gè)典型應(yīng)用:
1、在動(dòng)態(tài)數(shù)碼管顯示中的應(yīng)用,具體代碼可以參考我之前的筆記,部分代碼如下:
__interrupt void watchdog_timer(void)
{
}
這個(gè)程序主要是將看門狗定時(shí)器當(dāng)做普通定時(shí)器使用,1.9ms剛好適合動(dòng)態(tài)掃描間隔,在看門狗中斷中對(duì)數(shù)碼管進(jìn)行動(dòng)態(tài)掃描,這樣使用相對(duì)于開一個(gè)定時(shí)器來說要有所方便。因此在需要的定時(shí)與看門狗定時(shí)器的幾個(gè)時(shí)間相同時(shí)可以考慮使用看門狗。
2、普通延時(shí)
WDTCTL = WDT_ADLY_1000;
這個(gè)程序同樣是將看門狗當(dāng)普通定時(shí)器使用,在主程序中讀取中斷標(biāo)志位,實(shí)現(xiàn)延時(shí)效果,上面的程序?yàn)槭裁词茄訒r(shí)2S自己分析。
這里面舉了兩個(gè)例子,是最近學(xué)習(xí)的一點(diǎn)小體會(huì),當(dāng)然還是不能忘了看門狗的本能工作,在程序較為簡(jiǎn)單時(shí)可以考慮使用看門狗定時(shí)器簡(jiǎn)化設(shè)計(jì)。另外還有一點(diǎn)覺得比較重要的是雖然頭文件中對(duì)寄存器都有了很好的定義,但是還是很有必要對(duì)著頭文件和寄存器把主要的寄存器看一面,弄清每一種工作模式的使用方式和注意點(diǎn)。
關(guān)于軟件看門狗 看門狗是類似與硬件保護(hù)卡之類.保護(hù)硬盤數(shù)據(jù)的. 是單片機(jī)一個(gè)復(fù)位芯片,在單片機(jī)遇到異常情況之下自動(dòng)復(fù)位!~~ 看門狗是用來看家的,作用是保護(hù)你家的財(cái)產(chǎn)不丟失, 看門狗實(shí)際上是一個(gè)計(jì)數(shù)器,一般給看門狗一個(gè)大數(shù),程序開始運(yùn)行后看門狗開始倒計(jì)數(shù)。如果程序運(yùn)行正常,過一段時(shí)間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,重新開始倒計(jì)數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個(gè)系統(tǒng)復(fù)位。 一般是為了程序進(jìn)入死循環(huán)或死機(jī)!有的單片機(jī)不需外加看門狗電路(PIC)。 看門狗定時(shí)器對(duì)微控制器提供了獨(dú)立的保護(hù)系統(tǒng).當(dāng)系統(tǒng)出現(xiàn)故障時(shí),在可選的超時(shí)周期之后,看門狗將以RESET信號(hào)作出響應(yīng).像x25045就可選超時(shí)周期為1.4秒,600毫秒,200毫秒三種.當(dāng)你的程序死機(jī)時(shí),x25045就會(huì)使單片機(jī)復(fù)位. 關(guān)鍵詞:
MSP430學(xué)習(xí)小
相關(guān)推薦技術(shù)專區(qū)
|
評(píng)論