WDT看门狗寄存器实验

WDT寄存器

作用:监控CPU是否出现错误,出现错误向CPU发送复位信号
工作原理:向WDT写入一个100的值,递减,正常程序执行时会定时向WDT发送一个比较大的定时数,这样就不会减到零

有两种功能:
1. 当一个普通的定时器,递减,时间一到会向CPU发送一个中断信号
2. 当计数器到达0的时候,会产生一个内部的复位信号

WDT工作逻辑:
在这里插入图片描述

PCLK -> 一级分频器 -> 二级分频器 -> WTCNT -> interrupt / Reset Signal

		PCLK原始时钟100M一级分频器 1-256倍 WTCON[15:8]二级分频器 16,32,64,128倍 WTCON[4:3]WTCNT  : 递减的速度会根据分频器传过来的速度减 当前计数器的值interrupt / Reset Signal: 中断 / 复位信号  根据WTCON[0] WTCON[1]来决定

WDT看门狗实验目的:实现倒计时结束向CPU发送复位信号,从而实现开发板复位功能


#include "exynos_4412.h"void Delay(unsigned int Time)
{while(Time--);
}int main()
{/*设置一级分频*/WDT.WTCON = WDT.WTCON | (0xFF << 8);/*设置二级分频*//*WTCNT递减频率 = PLCK(100000000)/(0xFF + 1)/128 = 3052* 3052频率就是1秒就是3052,*/WDT.WTCON = WDT.WTCON | (0x3 << 3);/*禁止WDT产生中断信号*/WDT.WTCON = WDT.WTCON & (~(1 << 2));/*使能WDT产生复位信号*/WDT.WTCON = WDT.WTCON | 1;/*设置计数器的初始值  5秒*/WDT.WTCNT = (3052 * 5);/*使能WDT,计数器开始递减*/WDT.WTCON = WDT.WTCON | (1 << 5);/** 上面代码可以综合写成/*设置WDTCON寄存器*/WDT.CON = 0xFF39;/*设置计数器的初始值  5秒*/WDT.WTCNT = (3052 * 5);*/while(1){printf("WDT.WTCNT = %d\n",WDT.WTCNT);
/* 添加定时喂狗程序将不会复位 *//*喂狗*/WDT.WTCNT = 3052;Delay(100000);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/60786.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库签名的那些事儿

写在前面&#xff0c;关于签名的应用场景 除了我们后端经常使用的接口签名来校验数据这些常见的场景&#xff0c;对于数据安全性要求比较严格的业务来说&#xff0c;大部分落库的核心数据 也都需要签名&#xff0c;为啥? 因为怕数据库的数据被篡改数据或者被攻击了&#xff0c…

Effective Java笔记(28)列表优于数组

数组与泛型相比&#xff0c;有两个重要的不同点 。 首先&#xff0c;数组是协变的&#xff08; covariant &#xff09; 。 这个词听起来有点吓人&#xff0c;其实只是表示如果 Sub 为 Super 的子类型&#xff0c;那么数组类型 Sub[ ]就是Super[ ]的子类型。 相反&#xff0c;泛…

GoFastDFS单节点部署

&#x1f388; 作者&#xff1a;互联网-小啊宇 &#x1f388; 简介&#xff1a; CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作&#xff0c;擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

openlayers有哪些版本以及区别

vue3openlayer7 openlayer版本介绍 openlayer版本介绍 一、多个项目版本对比 官网首页罗列的几个版本&#xff1a; 包括&#xff1a;v7\v6\v5\v4\v3\v2 两年前使用v6.5.0 2023年7月版本是v7.4.0

Flask 框架集成Bootstrap

前面学习了 Flask 框架的基本用法&#xff0c;以及模板引擎 Jinja2&#xff0c;按理说可以开始自己的 Web 之旅了&#xff0c;不过在启程之前&#xff0c;还有个重要的武器需要了解一下&#xff0c;就是著名的 Bootstrap 框架和 Flask 的结合&#xff0c;这将大大提高开发 Web …

前端加密与解密的几种方式

1.base64加密方式 1. base64是什么&#xff1f; Base64&#xff0c;顾名思义&#xff0c;就是包括小写字母a-z、大写字母A-Z、数字0-9、符号""、"/"一共64个字符的字符集&#xff0c;&#xff08;另加一个“”&#xff0c;实际是65个字符&#xff0c;至于…

IDEA简单拷贝一份新项目记录

IDEA简单拷贝项目记录 拷贝后改项目名&#xff0c;然后iml 配置文件改项目名&#xff0c;然后 .idea 中的compiler.xml 里面的name标签改项目名。 就可以了

JPA实现存储实体类型信息

本文已收录于专栏 《Java》 目录 背景介绍概念说明DiscriminatorValue 注解&#xff1a;DiscriminatorColumn 注解&#xff1a;Inheritance(strategy InheritanceType.SINGLE_TABLE) 注解&#xff1a; 实现方式父类子类执行效果 总结提升 背景介绍 在我们项目开发的过程中经常…

云安全攻防(七)之 容器逃逸

容器运行时的安全风险 运行时的容器可能发生的攻击形式数不胜数&#xff0c;然而归根结底&#xff0c;所有攻击影响的还是业务系统的机密性、完整性和可用性&#xff08;CIA三要素&#xff09;。从这个角度出发&#xff0c;我们可以将攻击做以下的分类&#xff1a; 主要影响机…

【网络基础实战之路】基于三个分公司的内网搭建并连接运营商的实战详解

系列文章传送门&#xff1a; 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 PS&#xff1a;本要求基于…

ardupilot 三维向量如何进行旋转

目录 文章目录 目录摘要1.三维向量的旋转2.如何理解上面公式3.ardupilot中代码应用4.结论摘要 本节主要记录ardupilot中如何实现一个三维向量从一个坐标系转换到另外一个坐标系的过程,欢迎批评指正!!! 1.三维向量的旋转 这里需要特别注意,我们有时候需要把R系往B系转换,…

HECI-Securtiy 防火墙路由技术

目录 一、防火墙路由基本原理 1.路由分类 2.路由优先级 3.路由查询先后顺序 4.静态路由基本原理 &#xff08;1&#xff09;指定出接口场景 &#xff08;2&#xff09;指定下一跳地址场景 5.静态路由与多出口 &#xff08;1&#xff09;主备备份 &#xff08;2&#…