基于正点原子ministm32板独立看门狗实验

一.看门狗实验概述

看门狗实验解决的问题:

在启动正常运行的时候,系统不能复位;

在系统跑飞(程序异常执行)的情况,系统复位,程序重新执行。

STM32内置两个看门狗,提供了更高的安全信息,时间的精确性和使用的灵活性。

看门狗框图:

 二.独立看门狗库函数

 三.实验思路

1.取消寄存器写保护:

 2.设置独立看门狗的预分频系数,确定时钟:

 3.设置看门狗重装载值,确定溢出时间:

 4.使能看门狗:

 5.应用程序喂狗:

溢出时间计算:

 

 四.代码部分

工程文件:

 

iwdg.c:

#include "IWDG.H"
 
void IWDG_Init(u8 prer,u16 rlr) //分频和重装载值
{
	IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
	IWDG_SetPrescaler(prer);
	IWDG_SetReload(rlr);
	IWDG_ReloadCounter();//喂狗
	IWDG_Enable();
}
 

 main.c:

#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
#include "LED.H"
#include "iwdg.h"
int main(void)
 {	
		delay_init();	    	 //延时函数初始化	  
		LED_Init();		  	 	//初始化与LED连接的硬件接口
		KEY_Init();          	//初始化与按键连接的硬件接口
		
		delay_ms(200);
		LED0=0;					//点亮LED
	  IWDG_Init(4,625);
	while(1){
		if(KEY_Scan(0)==WKUP_PRES)
		{
			IWDG_ReloadCounter();
		}
	}
}

无错误,无警告

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值