專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

msp430 Watchdog Timer Module

作者:佚名   來源:不詳   點擊數(shù):  更新時間:2014年08月31日   【字體:

 /***************************************************************

做定時器用:
WDTCTL = WDT_ADLY_1000; // 以ACLK延遲1000ms
WDTCTL = WDT_MDLY_32; // 以SMCLK延遲32ms
// 記得要開IE1中的WDTIE和_EINT();
做看門狗用:
WDTCTL = WDT_ARST_1000; // 以ACLK設定1000ms的看門狗
WDTCTL = WDT_MRST_32; // 以SMCLK設定32ms的看門狗
// 由于在看門狗的定義里面包含WDTCNCTL
// 所以需要喂狗的時候只需要再寫一邊WDTCTL = WDT_MRST_32; 就行了
***************************************************************/
//使用看門狗定時器功能產(chǎn)生一個方波(周期的取反P3.4)。
#include <msp430x14x.h>
#include "BoardConfig.h"
void main(void)
{
  BoardConfig(0xbf);
  WDTCTL = WDT_ADLY_1000;//250;//
  //WDTCTL = WDT_MDLY_32; // 以SMCLK進行32ms的延遲
  IE1 |= WDTIE; // 開WDT中斷
  P3DIR |= 0x10; // 信號輸出
  _EINT(); // 總中斷開
  while(1)
  {
    _NOP();
  }
}
// 看門狗 中斷服務子程序
#pragma vector = WDT_VECTOR
__interrupt void WDT_IRQ(void)
{
  P3OUT ^= 0x10; // 對引腳取反
}
關閉窗口