[求助] 用什么方法可以让msp430每隔一段时间自动重启?

面纱如雾   2014-8-31 12:28 楼主
之前设计了一个MSP430控制GPRS收发数据的小装置,后来老师提意见说如果msp430或者gprs在远程发生了死机怎么办?让我附加一个每隔几个小时重新启动的装置。本来想在板子上加上一个时间控制器件,然后再程序里设置整点重启,后来觉得如果单片机都死机了,这个程序也运行不起来了,估计只能在单片机之外想办法,各位大侠有什么奇思妙想的来指点指点!

回复评论 (19)

看门狗定时器。。
点赞  2014-8-31 12:29
防止程序跑飞嘛
点赞  2014-8-31 12:30
引用: 君羽落 发表于 2014-8-31 12:29
看门狗定时器。。

如果单片机都死机了的话这个看门狗还有没有用啊?
点赞  2014-8-31 12:53
看门口就是防程序死机
点赞  2014-8-31 13:02
引用: qinkaiabc 发表于 2014-8-31 13:02
看门口就是防程序死机

我看到很多程序上来第一件事就是关闭看门狗,既然能防止死机为什么要关闭它呢?我之前的程序也是关闭看门狗后编写的,现在我把看门狗打开,其他不变,对于整个程序有没有影响?
点赞  2014-8-31 13:07
每一个模块的执行都有各自的时钟源,看门狗时钟源和其他不一样,单片机死机也不影响看门狗运行。关闭看门狗是因为看门狗计满系统就会重新上电,就是重启,影响程序正常执行
点赞  2014-8-31 13:23
引用: 面纱如雾 发表于 2014-8-31 05:07
我看到很多程序上来第一件事就是关闭看门狗,既然能防止死机为什么要关闭它呢?我之前的程序也是关闭看门 ...

要用看门狗的话,需要不停的喂狗!
点赞  2014-8-31 13:33
引用: qinkaiabc 发表于 2014-8-31 13:33
要用看门狗的话,需要不停的喂狗!

如果我选择WDTCNT的时钟源为32768HZ,计数次数IS0,IS1选择0,也就是32768,那么看门狗定时时间最多也就1S,这个时间对于我的程序来说太短了,我的程序中有部分指令间的延时都需要10S左右,短的也有1S多一点的,我怎么安排喂狗啊?
点赞  2014-8-31 13:38
引用: 君羽落 发表于 2014-8-31 13:23
每一个模块的执行都有各自的时钟源,看门狗时钟源和其他不一样,单片机死机也不影响看门狗运行。关闭看门狗 ...

如果我选择WDTCNT的时钟源为32768HZ,计数次数IS0,IS1选择0,也就是32768,那么看门狗定时时间最多也就1S,这个时间对于我的程序来说太短了,我的程序中有部分指令间的延时都需要10S左右,短的也有1S多一点的,我怎么安排喂狗啊?
点赞  2014-8-31 13:56
使用外部看门狗最靠谱,内部看门狗效果一般。这样可以使单片机一直处于工作状态,然后再定时重启。
点赞  2014-8-31 15:18
你老师的方法有点投机的嫌疑。在程序死机后系统能继续工作的正确方法是看门狗。只有程序跑飞后才重启系统。
点赞  2014-8-31 15:46
可以再加一个单片机,或者用个定时器也行,,,,用来控制继电器的开关  来控制msp430单片机的电源通断
欢迎关注:JL单片机
点赞  2014-9-1 00:36
gprs設定主動問msp430, 問不到就出一個rst信號。
msp430也設成定時問gprs沒有回應也給一個rst信號, 問題全部解決。
点赞  2014-9-1 16:06
在供电处添加一个继电器之类的来控制
where there is wade,there is a way...
点赞  2014-9-1 17:13
用外部专门的看门狗芯片,MCU定期对该芯片喂狗,如果MCU挂掉了,超过喂狗时间,看门狗芯片就将MCU复位。
点赞  2014-9-1 17:15
我也觉得外部看门狗比较好
读万卷书,行万里路
点赞  2014-9-1 18:24
加看门狗吧,程序死了跳不出来会直接复位。
还不行就把该部分初始化代码写到定时器里,定时初始化一遍;
既然有收发器,也可以对收发器进行复位控制管理啊。
点赞  2014-9-1 22:17
看到标题就直接想到了独立看门狗,不过MSP430玩的不是很熟,一般就是在自己的主程序里面喂狗,一旦程序死机了,看门狗就会重启机器啊
点赞  2014-9-3 12:22
看门狗
点赞  2014-9-3 13:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复