微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MSP430看门狗定时器

MSP430看门狗定时器

时间:11-19 来源:互联网 点击:




2.WDT interrupt:

看门狗有两种工作模式,watchdog mode, interval mode。

WDTIFG 置位的两种情况:在看门狗模式下发生看门狗溢出。在间隔定时模式下发生定时溢出,且全局中断使能GIE和WDTIE均开启。

WDTIFG在中断服务程序后会自动清除该标记。

3.WDTCTL

WDTPW:必须写0x5A.WDTHOLD:停止看门狗就设为1.WDTNMIES: NMI下降沿为1,上升沿为0.WDTNMI: NMI为1.WDTTMSEL:间隔定时器模式设为1.WDTCNTCL:通过该位来清除WDT计数器的值 通常设为1表示清除到0.WDTSSEL:设置时钟源 ACLK(辅助系统时钟)为1,SMCLK(子系统时钟)为0.WDTISx:设置时间间隔。0-3对应不同的分频。

4.WDT程序:

默认在中断中SR清零,也就是GIE是0,所以默认不会发生中断嵌套。只有在中断服务程序中打开GIE才能发生中断嵌套。

#include  msp430x14x.h>unsigned int i=0;void main(void){WDTCTL = WDT_MDLY_32;                     // Set Watchdog Timer interval to ~30msIE1 |= WDTIE;                             // Enable WDT interruptP2DIR =0xFF;                            // Set P1.0 to output directionP2OUT = 0xFF;_BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt}// Watchdog Timer interrupt service routine#pragma vector=WDT_VECTOR__interrupt void watchdog_timer(void){P2OUT = ~(0x80>>(i++));                            // Toggle P1.0 using exclusive-ORif(8==i) i=0;}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top