0
点赞
收藏
分享

微信扫一扫

18. 独立看门狗实验-IWDG

独立看门狗概述

 

 

 

 

 

 

 

 

 

 

常用寄存器和库函数配置

 

手把手写独立看门狗实验

#ifndef _IWDG_H
#define _IWDG_H

#include "sys.h"

void IWDG_Init(u8 prer,u16 rlr); //初始化独立看门狗
void IWDG_Feed(void);  //喂狗
#endif
#include "stm32F4xx.h"
#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();
	
}
#include "stm32f4xx.h"
#include "beep.h"
#include "led.h"
#include "delay.h"
#include "key.h"
#include "usart.h"
#include "exti.h"
#include "iwdg.h"

int main(void)
{
	delay_init(168);
	LED_Init();
	BEEP_Init();
	KEY_Init();
	
	delay_ms(1000);
	LED0 = 0;
	
	IWDG_Init(4,500);
	while(1)
	{
		if(KEY_Scan(0) == WKUP_PRES)
		{
			IWDG_ReloadCounter();
		}
		delay_ms(10);
	}
}

举报

相关推荐

0 条评论