历史上的今天
今天是:2025年04月07日(星期一)
2021年04月07日 | MSP430学习点滴—看门狗定时器
2021-04-07 来源:eefocus
简介:看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。控制寄存器WDTCTL由两部分组成,高8位用作口令,低8位实现对WDT的控制操作。要实现对WDT的操作控制,必须先写入高字节看门狗口令。
控制寄存器WDTCTL由两部分组成,高8位用作口令,低8位实现对WDT的控制操作。要实现对WDT的操作控制,必须先写入高字节看门狗口令。口令为5AH,头文件里一般将WDTPW宏定义为5AH.WDTCTL寄存器各位定义如下:
15~8 7 6 5 4 3 2 1 0
口令 HOLD NMIES NMI TMSEL CNTCL SSEL IS1 IS0
IS0 IS1 选择看门狗定时器的定时输出,其中T是WDTCNT的输入时钟源周期。一般宏定义WDTIS0为0x0001,WDTIS1为0x0002.
0 T*2^15(PUC复位后的值)
1 T*2^13
2 T*2^9
3 T*2^6
SSEL 选择WDTCNT的时钟源。一般宏定义WDTISSEL为0x0004.
0 SMCLK (PUC复位后的值)
1 ACLK
CNTCL 当该位为1时清除WDTCTL。一般宏定义WDTCNTL为0x0008.
TMSEL 工作模式的选择。一般宏定义WDTTMSEL为0x0010.
0 看门狗模式(默认)
1 定时器模式
NMI 选择RST/NMI引脚功能,在PUC后被复位。一般宏定义WDTNMI为0x0020.
0 RST/NMI引脚为复位端
1 RST/NMI引脚为边沿触发的非屏蔽中断输入。
NMIES 选择中断的边沿触发方式。一般宏定义WDTNMIES为0x0040.
0 上升沿触发NMI中断
1 下降沿触发NMI中断
HOLD 停止看门狗定时器工作 降低功耗。一般宏定义WDTHOLD为0x0080.
0 WDT功能激活
1 时钟禁止输入,计数停止。
因此,可以根据WDTCTL寄存器的TMSEL和HOLD控制位设置WDT工作在看门狗模式、定时器模式和低功耗模式。
C语言实现低功耗模式的语句:
WDTCTL = WDTPW + WDTHOLD;
C语言实现定时器模式的语句:
WDTCTL = WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0;
C语言实现看门狗模式的语句:
设置看门狗:WDTCTL = WDT_MRST_0_5 = WDTPW+WDTCNTCL+WDTIS1;
清看门狗:WDTCTL = WDTPW+WDTCNTCL;(默认32ms)
史海拾趣
|
本人最近在弄音频,在VC6.0上用mmioOpen,mmioRead等函数来实现播放wav文件的功能,但移植到wince上时,却不支持这些函数,eVC总编译不过,百思不得其解,恳请论坛上的高人指点如何在eVC里使用mmioOpen函数,谢谢!… 查看全部问答> |
|
tornado2.0 安装文件有200多M 可是装过后就只有50多M 而且没有什么可执行文件。 有人知道那时怎么回事么?? 先谢过了~ … 查看全部问答> |
|
测试程序如下:#include "stm8s.h"void CLK_Init(void){ /* Configure clock prescaler */ CLK->CKDIVR = 0x01;   ...… 查看全部问答> |
|
程序可以编译,没有错误,PG3口,PWMGEN0,PWM1,就是出不来PWM波,不知道错误在哪儿,向各位大侠求助,谢谢! #include \"inc/lm3s2b93.h\"#include \"inc/hw_gpio.h\"#include \"inc/hw_ints.h\"#include \"inc/hw_memmap.h\"#include \ ...… 查看全部问答> |
|
利用ADXL345三轴加速度传感器设计的一种可以检测运动物体瞬时的加速度可应用于检测运动物体的运动加速度; 基于MSP430的软件设计的IIC的一种数字式的加速度传感器可以很好的利用在检测物体的。 下面是我对ADXL345做的一些应用笔记,希望对大家有 ...… 查看全部问答> |




