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

MSP430学习点滴——看门狗定时器

时间:11-21 来源:互联网 点击:
看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。

控制寄存器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)

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

网站地图

Top