22回答

2收藏

[原创] 关闭看门狗程序详解

 

TI TI 14422 人阅读 | 22 人回复 | 2012-12-18

本帖最后由 xuyuanping1075 于 2012-12-19 10:50 编辑

关闭看门狗程序简单,就一句话,WDTCL=WDTPW+WDTHILD,但为什么会是这样呢?众多的参考书只是简单的这么一说,并没有仔细分析。今天在教室,翻阅众多书籍,查阅.H文件,得出权威结论。详情请等待11点左右发布。

来晚了,宿舍网友问题,奶奶的,具体如下:

看门狗寄存器WDTCTL (地址0x0120
15~8
7
6
5
4
3
2
1
0
WDTPW
WDTHOLD
WDTNMIES
WDTNMI
WDTTMSEL
WDTCNTCL
WDTSSEL
WDTISx

WDTPW:又名口令。个人理解,就是WDTPASSW的缩写。是看门狗定时器访问时安全键值,读取时位0x69,写入时应该为0x5A.如果口令输错了,那就game over 了——复位。
WDTHOLD:看门狗暂停位。
          0:看门狗定时器正常工作;
          1:看门狗定时器暂停。
其余的与本版无关,就不介绍了,自己查书去。

关闭看门狗,地球人都知道是这句:WDTCTL=WDTPW+WDTHOLD;为什么呢?这得从IAR提供的头文件说起。以 MSP430x14x.h文件为例,里面有这么一些关于看门狗的定义(红色的是重点,只看红色可以!):

/*-------------------------------------------------------------------------
*  Watchdog Timer
*-------------------------------------------------------------------------*/

__no_init volatile union
{
unsigned short WDTCTL;   /*Watchdog Timer Control */

struct
  {
   unsigned short WDTIS0          :1; /*  */
   unsigned short WDTIS1          :1; /*  */
   unsigned short WDTSSEL         :1; /*  */
   unsigned short WDTCNTCL        :1; /*  */
   unsigned short WDTTMSEL        :1; /*  */
   unsigned short WDTNMI          :1; /*  */
   unsigned short WDTNMIES        :1; /*  */
   unsigned short WDTHOLD         :1; /*  */
}WDTCTL_bit;
} @ 0x0120;


enum {
WDTIS0          = 0x0001,
WDTIS1          = 0x0002,
WDTSSEL         = 0x0004,
WDTCNTCL        = 0x0008,
WDTTMSEL        = 0x0010,
WDTNMI          = 0x0020,
WDTNMIES        = 0x0040,
  WDTHOLD         =0x0080
};

#define WDTPW               (0x5A00u)
*******************************************************************************WDTCTL=WDTPW+WDTHOLD。由上面可以看出,WDTPW的值为0x5A00WDTHOLD宏定义为 0x0080;进行运算后,WDTCTL0x5A80,即高8位为5AH,写入口令;低810000000,看门狗定时器关闭。以此类推,可以得出很多书本上一带而过却又值得大家思考的简短的语句。
共勉!
分享到:
回复

使用道具 举报

回答|共 22 个

倒序浏览

沙发

repo_3007473

发表于 2012-12-18 20:58:07 | 只看该作者

有什么意思???
板凳

徐园平

发表于 2012-12-18 23:24:30 | 只看该作者

dlyt03 发表于 2012-12-18 20:30
沙发,你是绣恩爱了吧?

你抓紧啊。哈哈
http://weibo.com/yyppxu
地板

徐园平

发表于 2012-12-19 08:54:22 | 只看该作者

repo 发表于 2012-12-18 20:58
有什么意思???

做了详细的解释嘛
http://weibo.com/yyppxu
5#

repo_3007473

发表于 2012-12-19 10:42:32 | 只看该作者

xuyuanping1075 发表于 2012-12-19 08:54
做了详细的解释嘛

好!!!!!!!
6#

徐园平

发表于 2012-12-19 10:45:34 | 只看该作者

repo 发表于 2012-12-19 10:42
好!!!!!!!

谢谢支持啊
http://weibo.com/yyppxu
7#

徐园平

发表于 2012-12-19 10:51:15 | 只看该作者

dlyt03 发表于 2012-12-18 20:30
沙发,你是绣恩爱了吧?

你高不高430?
http://weibo.com/yyppxu
8#

徐园平

发表于 2012-12-19 16:52:50 | 只看该作者

我觉得自己写的挺好的,咋就没人顶顶呢》?
http://weibo.com/yyppxu
9#

徐园平

发表于 2012-12-20 16:41:25 | 只看该作者

@QQ哥 我给了详细的解释
http://weibo.com/yyppxu
10#

QQ哥

发表于 2012-12-20 16:44:13 | 只看该作者

xuyuanping1075 发表于 2012-12-20 16:41
@QQ哥 我给了详细的解释

{:soso__16264556057146868546_4:}  
小样,分析的不错嘛~
我就是QQ哥,QQ哥就是我!
https://www.cirmall.com/bbs/?fromuser=QQ%E5%93%A5
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条