- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM32 独立看门狗IWDG 与窗口看门狗WWDG
2010年05月03日 星期一 21:54
独立看门狗Iwdg——有独立时钟(内部低速时钟LSI---40KHz),所以不受系统硬件影响的系统故障探测器。主要用于监视硬件错误。
窗口看门狗wwdg——时钟与系统相同。如果系统时钟不走了,这个狗也就失去作用了,主要用于监视软件错误。
一,独立看门狗
看门狗定时时限= IWDG_SetReload()的值 / 看门狗时钟频率
看门狗时钟频率=LSI(内部低速时钟)的频率(40KHz)/ 分频数
1.STM32
独立看门狗IWDG的时限定为280微秒。这个时限可能会随着LSI(内部低速时钟)的频率漂移而产生微小的变化。
/* IWDG timeout equal to 280 ms (the timeout may varies due to LSI frequency dispersion) -------------------------------------------------------------
*/
/* Enable write access to IWDG_PR and IWDG_RLR registers */
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
/* IWDG counter clock: 40KHz(LSI) / 32 = 1.25 KHz */
IWDG_SetPrescaler(IWDG_Prescaler_32);
/* Set counter reload value to 349 */
IWDG_SetReload(349);
/*该参数允许取值范围为0 – 0x0FFF *
/* Reload IWDG counter */
IWDG_ReloadCounter();
/* Enable IWDG (the LSI oscillator will be enabled by hardware) */
IWDG_Enable();
2.独立看门狗(IWDG)由专用的40kHz 的低速时钟为驱动;因此,即使主时钟发生故障它也仍然有效。窗口看门狗由从APB1 时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的行为。可通过
IWDG_SetPrescaler(IWDG_Prescaler_32); 对其时钟进行分频,4-256,
通过以下方式喂狗 :
/* Reload IWDG counter */
IWDG_ReloadCounter();
3. 1.25KHz 即每周期 为0.8ms
共计时 350 个周期,即350*0.8ms=280ms
看门狗定时时限= IWDG_SetReload()的值 / 看门狗时钟频率
看门狗时钟频率=LSI(内部低速时钟)的频率(40KHz)/ 分频数
二,窗口看门狗
STM32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种情况之一时产生看门狗复位:
1)当计数器的数值从0x40减到0x3F时
2)当刷新看门狗时计数器的数值大于某一设定数值时,此设定数值在WWDG_CFR寄存器定义
对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗,但这有一个隐患,有可能程序跑乱了又跑回到正常的地方,或跑乱的程序正好执行了刷新看门狗操作,这样的情况下一般的看门狗就检测不出来了;如果使用窗口看门狗,程序员可以根据程序正常执行的时间设置刷新看门狗的一个时间窗口,保证不会提前刷新看门狗也不会滞后刷新看门狗,这样可以检测出程序没有按照正常的路径运行非正常地跳过了某些程序段的情况。
标签: 无标签
STM32窗口看门狗使用?(WWDG)
上午搞定RTC之后,开始弄IWDG和WWDG,IWDG比较容易,配置也很简单,参考ST的代码就能很快搞定.但是WWDG就不行了,搞了很久都不行,按ST的库做,在keil上仿真也不行,主要原因就是WWDG-CR寄存器中的计数值不会减少!
其他配置也都正确了,WWDG-CR就是不减少,我不知道是不是PCLK1的时钟没有,但是从keil的仿真可以看到PCLK1的时钟是36M,没道理没有,很是郁闷,不知道哪位朋友用过STM32的WWDG没有?请指教!
多谢先.
我用的是STM32F103RBT6.
主函数:
#include stm32f10x_lib.h
#include sys.h
#include led.h
#include delay.h
#include wwdg.h
int main(void)//GPIO
{
//u32 temp;
您可能关注的文档
最近下载
- 学堂在线 海上求生与救生 章节测试答案.docx VIP
- 智能无人船在水下地形测量中的应用.pptx VIP
- 超星尔雅2018《形象管理》章节测试答案满分答案.pdf VIP
- 学堂在线 生活英语读写 期末考试复习题答案.docx VIP
- 某沿海城市低空产业赋能城市管理可行性研究报告-简版v1.0.pdf
- 中国石油大学远程教育,压裂井返排优化设计研究.doc VIP
- 学堂在线 战场侦察监视技术与装备 章节测试答案.docx VIP
- 学堂在线 工程伦理2.0 章节测试答案.docx VIP
- 2024年四川省雅安市中考数学试卷(含答案).doc VIP
- 微电子本科毕业论文题目(热门选题100个)最新.pdf VIP
文档评论(0)