STM32日记IWDG与WWDG.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32日记IWDG与WWDG

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)/ 分频数 参考/html/99/t-2599.html /u3/93821/showart_1999233.html 二,窗口看门狗 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 #incl

您可能关注的文档

文档评论(0)

cj80011 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档