专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

msp430 Watchdog Timer Module

作者:佚名   来源:不详   点击数:  更新时间: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; 就行了
***************************************************************/
//使用看门狗定时器功能产生一个方波(周期的取反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; // 对引脚取反
}
关闭窗口