IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32学习笔记—独立看门狗 -> 正文阅读

[嵌入式]STM32学习笔记—独立看门狗

1、独立看门狗的介绍

2、独立看门狗的使用

3、代码段

1、独立看门狗的介绍

独立看门狗利用系统内部的低速时钟提供机械周期,这个低速时钟与系统的工作时钟不是一个时钟,所以看门狗的运行和系统的运行是互不干扰的。独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然 有效。这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 40Khz,而是 在 30~60Khz 之间的一个可变化的时钟,只是我们在估算的时候,以 40Khz 的频率来计算。看门狗的主要的作用是防止程序跑飞或者死机。具体工作原理是系统正常工作时会定时喂狗,就是会隔一段时间给相应的寄存器装入设定好的值,然后寄存器从给定的值开始计数,直至到0的时候产生一个复位信号,如果在计数到0之前,进行喂狗,则重新从指定的数开始计数。如果在计数到0的时候没有进行喂狗,则认为程序跑飞,产生一个复位的信号,让程序重新开始执行。

2、独立看门狗的使用

时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).

?配置步骤

1、取消预分频计数器和重装载寄存器的写保护IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable)

2、设置预分频值 IWDG_SetPrescaler(prer) 这个prer是预分频系数,是一个形参。在主函数调用的时候传进来。

3、设置重装载值 IWDG_SetReload(rlr) 这个rlr是重装载值,也是一个形参,由主函数调用时传进来。

4、喂狗,IWDG_ReloadCounter() ,对DR寄存器写入0xaaaa

5、使能看门狗IWDG_Enable()

3、代码段

iwdg函数
#include "iwdg.h"
#include "sys.h"

void IWDG_Init(u8 prer,u16 rlr)
{
	IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//取消寄存器写保护
    IWDG_SetPrescaler(prer);//设置预分频系数
	IWDG_SetReload(rlr);//设置重装载值
	IWDG_ReloadCounter();//喂狗
	IWDG_Enable();//使能独立看门狗
}
main函数
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "beep.h"
#include "iwdg.h"

 int main(void)
 {	
	delay_init();	    	 //延时函数初始化	  
	LED_Init();		  		//初始化与LED连接的硬件接口         	
	KEY_Init();         	//初始化与按键连接的硬件接口
    IWDG_Init(4,625);
	delay_ms(500);
    LED0=0;					//先点亮红灯
	while(1)
	{
 		if(KEY_Scan(0)==KEY1_PRES)//得到键值
		{
		IWDG_ReloadCounter();
		}
		delay_ms(10);
	}	 
}

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:31:43  更:2021-11-23 12:32:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:42:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码