OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10197|回复: 5

请问如何延长看门狗最大喂狗时间?

[复制链接]

92

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2014-3-14
在线时间
95 小时
发表于 2015-6-26 17:06:10 | 显示全部楼层 |阅读模式
5金钱
小弟新手学习STM32,现在学习看门狗,有些地方不太清楚。。所以有几个问题请教一下。

//初始化独立看门狗

//prer:分频数:0~7(只有低 3 位有效!)
//分频因子=4*2^prer.但最大值只能是 256!            第一, 这里是指分频因子,还是prer的最大值只能是256?   那么rlr的最大值不能超过多少?
//rlr:重装载寄存器值:低 11 位有效.
//时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).   第二,百度有些地方说TOUT最大时间,是26秒。。我玩的是原子的GSM模块,有很多地方有delay_ms(200)的大延时。我想到我的主程序,大循环里面加个看门狗。看门狗5分钟不喂,程序就自动复位。请问这样,需要大时间的看门狗如何实现的?

最佳答案

查看完整内容[请看2#楼]

//时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).    prer范围0~6  rlr范围0~0xfff(4095)   最大值Tout= ((4*2^6)*4095)/40 (ms) = 26208ms     我的解决方法是,由于我的程序使用了delay_ms(200)大延时。喂狗时间IWDG_Init(4,625)我设定为1s,并把喂狗放在这个延时的子函数里面,这样大循环中就不用出现满屏幕喂狗函数了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

92

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2014-3-14
在线时间
95 小时
 楼主| 发表于 2015-6-26 17:06:11 | 显示全部楼层
//时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).    prer范围0~6  rlr范围0~0xfff(4095)   最大值Tout= ((4*2^6)*4095)/40 (ms) = 26208ms  
 
我的解决方法是,由于我的程序使用了delay_ms(200)大延时。喂狗时间IWDG_Init(4,625)我设定为1s,并把喂狗放在这个延时的子函数里面,这样大循环中就不用出现满屏幕喂狗函数了。
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-6-26 17:23:47 | 显示全部楼层
第一,关于prer、rlr的疑问可以通过查看相关寄存器和原子哥的开发指南轻松找到,问别人的时间早找到够看好几遍了
第二,delay_ms(200)在26s面前不是多大延时,如果很多,多喂狗几次解决问题。5分钟看门狗,这样的耐力狗我还没听说过,目前应该实现不了,即使实现也是弊大于利,5分钟看门狗反应太迟钝。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

92

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2014-3-14
在线时间
95 小时
 楼主| 发表于 2015-6-26 19:05:01 | 显示全部楼层
回复【2楼】龙之谷:
---------------------------------
老兄,你这样回答问题很不厚道。啊。。。    我看了你之前有很多提问,其实有很多都是简单的问题,但别人都是耐心回答你。你一来就叫我看手册,看书。不错看手册看书、查资料大部分问题都可以自己解决,但是对于新手来说那很费精力而且很慢,想精研的时候慢慢琢磨很好,但是想快速学习不求精的情况下不实用。。。你也是提过简单问题的,如果你总是叫别人自己看书看资料,下次别人也不愿意回答你的简单问题了。。
delay_ms(200)虽然延时不大,但是程序中这种命令比较多。还有其他需要延时等待的地方。一个程序,肯定是不想出现很多次喂狗。5分钟看门狗,你自己不要用,你可以说弊大于利,尺有所短寸有所长,当你要用的时候你就知道了。。。。
大牛看不起菜鸟的问题,不回答可以,但是请不要鄙视菜鸟,都是菜鸟过来的。
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-6-27 00:26:15 | 显示全部楼层
首先,我也是菜鸟阶段,所说言论仅代表自己的想法,以下言论同理。
其次,我问过很多简单问题,别人也耐心回答了,所以现在如果别人有问题我略知一二也会去尽自己一份力作为对论坛的回馈,但是你可以看一下我的问题有直接对于寄存器这些直接在书上能够找到、动动手就能解决的吗,并且这个问题好像没涉及到精研这一层面
最后,还是那句话,所说言论仅代表自己的想法,对于5分钟的看门狗我就不再说什么了
PS:这是一个有爱的论坛,我在此论坛受益匪浅,如果我的某些言论你不同意或导致你反感,我表示抱歉,希望你在论坛过得愉快,话止于此,不再回应。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

92

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2014-3-14
在线时间
95 小时
 楼主| 发表于 2015-6-27 09:28:15 | 显示全部楼层
回复【5楼】haohan163:
---------------------------------
这样做的弊端是,如果程序跑飞,死循环在包含delay_ms(200)的函数里面,狗也不会死,就失效了。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 00:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表