5128|6

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教:软件复位的问题 [复制链接]

我想写一个软件复位的程序,应为好像是记得WDTCTL中知道口令(WDTPW)错误就会引起系统复位。所以我只要在复位程序中将口令赋一个错误值即可。下面是一个测试程序来验证我的想法:
#include <msp43x14x.h>

#define WDTRST 0x0000

void main(void)
{
P1DIR=0X22;
ME2|=UTXE1+URXE1;

WDTCTL=WDTRST;
while(1);
}
(1)采用硬件方针,在while(1);那里加断点。程序全速跑时一直没有进断点,这样是不是可以断定系统复位了?
(2)系统复位需要大约多少时间?

最新回复

谢谢各位,长不少知识了  详情 回复 发表于 2005-12-1 15:42
 
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你这样做不知道有什么意义,本身默认的就是开看门狗的,就算你不用WDTCTL=WDTRST;也会复位的。起码你前面也要对看门狗做一定的时间上的设置,然后可以在时间未到前用误操作让程序复位。
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用:

我想写一个软件复位的程序,应为好像是记得WDTCTL中知道口令(WDTPW)错误就会引起系统复位。所以我只要在复位程序中将口令赋一个错误值即可。下面是一个测试程序来验证我的想法:
#include <msp43x14x.h>

#define WDTRST 0x0000

void main(void)
{
P1DIR=0X22;
ME2|=UTXE1+URXE1;

WDTCTL=WDTRST;
while(1);
}
(1)采用硬件方针,在while(1);那里加断点。程序全速跑时一直没有进断点,这样是不是可以断定系统复位了?
(2)系统复位需要大约多少时间?
/*==============================================*/
复位时间好像与WDTCTL的设置有关,要根据时钟源的频率算,没有WDTCTL=WDTRST;也一样复位,后面有while(1);
默认好像是Tsmclk乘(2的15次方)
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
哦,我明白了。上面的那个程序根本就不能确定是我的WDTCTL=WDTRST;这个语句导致没有进入断点。如果把WDT的时间设置的比较长(至少能进入WHILE(1);),如果还进不了断点就说明WDTCTL=WDTRST;这个语句起作用了。

是这个意思不?
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
设T=Tsmclk乘(2的15次方)(默认)
如果在 T 这么长时间内没有复位看门狗,也就是超出了看门狗所定的时间,系统就自动复位,如果使用WDTCTL=WDTRST;语句,那么如果执行到该语句之前就超过了T ,则系统复位是由超时引起复位;如果执行WDTCTL=WDTRST;语句的时间还在T内,则系统复位是由该语句引起
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
看门狗具体复位时间可以参看头文件。
/* Watchdog mode -> reset after expired time */
/* WDT is clocked by fMCLK (assumed 1MHz) */
#define WDT_MRST_32 (WDTPW+WDTCNTCL) /* 32ms interval (default) */
#define WDT_MRST_8 (WDTPW+WDTCNTCL+WDTIS0) /* 8ms " */
#define WDT_MRST_0_5 (WDTPW+WDTCNTCL+WDTIS1) /* 0.5ms " */
#define WDT_MRST_0_064 (WDTPW+WDTCNTCL+WDTIS1+WDTIS0) /* 0.064ms " */
/* WDT is clocked by fACLK (assumed 32KHz) */
#define WDT_ARST_1000 (WDTPW+WDTCNTCL+WDTSSEL) /* 1000ms " */
#define WDT_ARST_250 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0) /* 250ms " */
#define WDT_ARST_16 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1) /* 16ms " */
#define WDT_ARST_1_9 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) /* 1.9ms " */
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢各位,长不少知识了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播:当AI遇见仿真,会有什么样的电子行业革新之路?
首场直播:Simcenter AI 赋能电子行业研发创新
直播时间:04月15日14:00-14:50

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 14

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表