源:STM8|STM32 看门狗使用

STM8和STM32都配备了独立看门狗,其作用之大不言而喻。以下为STM8及STM32的独立看门狗使用例:

对于STM32单片机:

#define SYS_IWDG_OPEN        IWDG->KR=0xCCCC;
#define SYS_IWDG_FEED IWDG->KR=0xAAAA; void SystemIWDG_Config(uint32 OverTime)
{
RCC->CSR|=RCC_CSR_LSION;
while((RCC->CSR&RCC_CSR_LSIRDY)==);
IWDG->KR=0x5555; //使能模块访问
while(IWDG->SR&IWDG_SR_PVU);
IWDG->PR=0x0006; //256分频 40000/256=156HZ T=6.4ms
while(IWDG->SR&IWDG_SR_RVU);
IWDG->RLR=(OverTime*)>>; //溢出时间
IWDG->KR=0xAAAA; //装载IWDG->RLR
}

对于STM8单片机:

#define SYS_IWDG_OPEN        IWDG_KR=0xCC;
#define SYS_IWDG_FEED IWDG_KR=0xAA; <pre class="cpp" name="code">void SystemIWDG_Config(void)
{
CLK_ICKCR|=S3;
while((CLK_ICKCR&S4)==);
//STM8单片机需先执行0xCC指令,即先打开IWDG模块,否则IWDG工作不正常
IWDG_KR=0xCC; //启动看门狗
IWDG_KR=0x55; //使能模块访问
IWDG_RLR=0xFF; //溢出时间
IWDG_PR=0x06; //256分频 38000/256=148HZ T=6.7ms
IWDG_KR=0xAA; //装载IWDG->RLR
}

使用:先在主程序中打开看门狗,在主循环或任务中喂狗,但千万别在中断中喂狗。

void main()
{
......
SYS_IWDG_OPEN
......
while(){
......
SYS_IWDG_FEED
------
}
}

操作系统OS中喂狗一般安排在最高优先级任务中,并且保证此线程不断循环。

STM8|STM32 看门狗使用的更多相关文章

  1. stm32看门狗详细解答,看了觉得一下子明白了很多

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  2. stm32 看门狗配置

    1.独立看门狗: 1) 取消寄存器写保护(向 IWDG_KR 写入 0X5555) IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);  //使能或者失能 2) ...

  3. STM32窗口看门狗和独立看门狗的区别,看门狗介绍及代码演示

    一.介绍: STM32看门狗分为独立看门狗和窗口看门狗两种,其两者使用调条件如下所示, IWDG和WWDG两者特点如下图所示: 独立看门狗的手册资料: 窗口看门狗的手册资料:             ...

  4. STM32之看门狗(独立与窗口)

    广大的互联网网友们,大家早上中午晚上好,我是某某某..对于狗..看过<忠犬八公>的我.无不深深的被狗的义气与灵气所震撼..我也觉得在所有mcu中用看门狗来形容让系统复位的功能是很恰当的.也 ...

  5. STM32之独立看门狗与窗口看门狗总结

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  6. MM32看门狗学习(兼容STM32)

    MM32看门狗学习(兼容STM32) IWDG独立看门狗 思维导图 IWDG框图与理解 1.独立看门狗分为两个部分,配置寄存器在1.8V供电区,计数器的核心部分在VDD供电区(即使停机/待机模式计数器 ...

  7. STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)

    一     前沿废语: 之前有很风靡的游戏,名字叫<看门狗>.该游戏用了很新的引擎技术,打造出了一个辽阔庞大的世界,内容是玩家Aiden·Pearce(主角)是一名精通黑客技术的高手,当时 ...

  8. stm8的独立看门狗与窗口看门狗

    STM8拥有两个硬件看门狗,分别叫做独立看门狗和窗口看门狗 独立看门狗的框图如下 我们可以看到,独立看门狗的时钟来自于LSI内部低速振荡器,经过二分频到达看门狗外设单元,在经过一个七位的预分频到达计数 ...

  9. 【转】STM32 独立看门狗简介

    STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种 ...

随机推荐

  1. Valgrind: memcheck of memleak/mem-uninitialization; massif usage

    first install valgrind, its newest ver is 3.11, and stops updating since 2015/12. in centos, yum ins ...

  2. bootstrap ch2清除浮动+12

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  3. ZOJ 649 Rescue(优先队列+bfs)

    Rescue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. LeetCode OJ 226. Invert Binary Tree

    Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Trivia:This problem was ...

  5. greatest common divisor

    One efficient way to compute the GCD of two numbers is to use Euclid's algorithm, which states the f ...

  6. ios图片剪切

    #import "ViewController.h" @interface ViewController ()@property (weak, nonatomic) IBOutle ...

  7. 被非技术瓶颈阻挡了,没钱买Mac,挣扎ing

    最近一直没来写博客,因为一直在找刷盘子.服务生.看店的工. 已经找到,主要因为前阵子天不热,所以酒馆的顾客不多.现在好了. 只好买个Mac mini,看了很多帖子,也只好暂时折中这样了.Mac买不起. ...

  8. Replication--进程无法在“xxxx”上执行“sp_replcmds”

    错误消息:进程无法在“xxxx”上执行“sp_replcmds”. (源: MSSQL_REPL,错误号: MSSQL_REPL20011)获取帮助: http://help/MSSQL_REPL20 ...

  9. oracle常用命令【转载】

    oracle常用命令 一.Oracle数据库实例.用户.目录及session会话查看: 1.ORACLE SID查看设置 查看SID.用户名 $ env|grep SID .select * from ...

  10. 最佳死链接href= "#" VS href= "javascript:void(0);"

    href= "#" 熟悉hash跳转的同学都知道,只是一个hash跳转,跳转到页面的顶部,可以发现地址栏多了一个#,点击返回会返回本页面. href= "javascri ...