⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdt.c

📁 MSP430的WDT看门狗应用的C语言源码
💻 C
字号:
#include "msp430x44x.h"
#include "wdt.h"

//WDT可以选择T100MS/T250MS/T16MS/T2MS,WDT必须使用ACLK=32768HZ
void WDTTimeSet(BYTE interval)
{
    WDTCTL=WDTPW+WDTCNTCL+(WDTCTL&0xFC)|interval;
    //修改时间间隔必须同时清零WDT
}
/* NMI功能选择:      
      系统默认为RST功能,调用本函数时为NMI功能
      edge可选参数RISING,FALLING
*/
void NMISet(BYTE edge)
{
    WDTCTL=WDTPW+WDTNMI+((WDTCTL&0x9F)|edge<<6);   	
}
/* wdt.h内容
#define BYTE unsigned char

//WDT时钟为ACLK=32768HZ时 WDT定时值
#define T1000MS   0  //1秒            WDT_FREQ=WDTCLK/ 32768
#define T250MS    1  //250毫秒        WDT_FREQ=WDTCLK/ 8192
#define T15MS     2  //15.625毫秒     WDT_FREQ=WDTCLK/ 512
#define T2MS      3  //1.953125毫秒   WDT_FREQ=WDTCLK/ 64

// RST/NMI功能选择参数
#define RISING   0
#define FALLING  1

//关闭WDT节能
#define WDTStop()       WDTCTL=WDTPW+((WDTCTL&0x0F)|WDTHOLD) 
//WDTCNT清零
#define WDTRefresh()    WDTCTL=WDTPW+((WDTCTL&0xFF)|WDTCNTCL)
//选择WDT时钟源为SMCLK
#define WDTSMCLKSet()   WDTCTL=WDTPW+((WDTCTL&0xFF)&(~WDTSSEL))
//选择WDT时钟源为ACLK
#define WDTACLKSet()    WDTCTL=WDTPW|((WDTCTL&0xFF)|WDTSSEL)
//设定WDT为定时模式 不调用本函数时为默认WDT模式
#define WDTTimerSet()   WDTCTL=WDTPW|((WDTCTL&0xFF)|WDTTMSEL)

extern void WDTTimeSet(BYTE interval);
void NMISet(BYTE edge);

WDT中断写法
interrupt[WDT_VECTOR] void WDT_ISR(void) 
{
}

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -