WDT看门狗寄存器实验

news2024/10/6 2:21:35

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.coloradmin.cn/o/860861.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.利用matlab建立符号函数和符号方程(matlab程序)

1.简述 一、引言 符号函数是Matlab的一个非常重要的功能&#xff0c;可以用来表示数学上的函数&#xff0c;同时也是进行数值计算。创建符号函数的方法有多种&#xff0c;本文给出了四种生成符号函数的方法及求符号函数函数值的方法。 四种生成符号函数的方法&#xff1a;有利用…

【Linux】gcc编译器的使用和介绍

目录 一&#xff0c;GCC简介 二&#xff0c;GCC的主要组件 三&#xff0c;GCC的工作流程 四&#xff0c;GCC的一些重要特性和功能 五&#xff0c;GCC常用的编译选项 六&#xff0c;GCC的输入输出选项的具体用法 七&#xff0c;GCC的参考文档 一&#xff0c;GCC简介 GCC&…

预测性维护如何改变设备管理部门的工作方式?

在现代工业中&#xff0c;设备管理部门面临着日益复杂的挑战。维护工作的准确性和高效性变得愈发重要&#xff0c;特别是在资产技术日益复杂的背景下。预测性维护&#xff08;PdM&#xff09;作为一种革命性的方法&#xff0c;通过实时评估运营数据并利用人工智能&#xff08;A…

Android Studio 拉取代码后 git显示大量文件被修改

参考&#xff1a; 在 Git 中正确设置 CRLF、LF 换行符转换 现象 拉取后再Android Studio 中显示正常&#xff0c;但是 run 之后&#xff0c;所有的文件在git 中显示 modify。 查看具体变更发现是所有的内容先显示删除 - &#xff0c;在显示添加 Beyond Compare 文本比较显…

Visdom安装避坑

VIsdom&#xff0c;与tensorboard作用类似 通过以下命令安装Visdom&#xff0c; pip install visdom 启动visdom服务 python -m visdom.server 运行一直卡在Downloading scripts, this may take a little while&#xff0c;某些资源因为网络问题难以下载&#xff0c;导致一…

利用SCCM进行横向移动

01SCCM介绍 SCCM全名为System Center Configuration Manager&#xff0c;从版本1910开始&#xff0c;微软官方将其从Microsoft System Center产品移除&#xff0c;重新命名为Microsoft Endpoint Configuration Manager&#xff08;ConfigMgr&#xff09;&#xff0c;其可帮助 …

W6100-EVB-PICO 做TCP Server进行回环测试(六)

前言 上一章我们用W6100-EVB-PICO开发板做TCP 客户端连接服务器进行数据回环测试&#xff0c;那么本章将用开发板做TCP服务器来进行数据回环测试。 TCP是什么&#xff1f;什么是TCP Server&#xff1f;能干什么&#xff1f; TCP (Transmission Control Protocol) 是一种面向连…

实现分布式事务:Java与MySQL的XA事务协调

目录 一、什么是XA事务 二、Java中的XA事务支持 三、MySQL的XA事务协调 四、注意事项和最佳实践 五、基于 java 语言的开发工具 六、小结 分布式事务是在跨多个数据库或服务之间保持一致性的重要机制。Java与MySQL的XA&#xff08;eXtended Architecture&#xff09;事务…

获取接口的所有实现

一、获取接口所有实现类 方法1&#xff1a;JDK自带的ServiceLoader实现 ServiceLoader是JDK自带的一个类加载器&#xff0c;位于java.util包当中&#xff0c;作为 A simple service-provider loading facility。 &#xff08;1&#xff09;创建接口 package com.example.dem…

Lua 数据类型 —— 字符串

一、字符串 Lua 使用 八个比特位来存储 字符。&#xff08;一个字节 八个比特位&#xff09; Lua 最好使用 UTF-8 编码。 字符串是不可变值&#xff0c;和 java 和 kotlin 相似&#xff0c;修改其中某一个字符&#xff0c;都是创建一个新的字符串。 Lua 对字符串会进行自动…

Python进阶(二)

前言&#xff1a;本篇博客主要记录Python进程的创建、进程间的通信、进程池的使用、线程的创建、多线程的执行、同步和互斥、协程的创建和应用。 目录 思维导图 基本概念 进程 进程的创建 进程间的通信 进程池 线程 线程的创建 子线程的执行顺序 同步&互斥 互斥…

惊讶,日本用“Excel”作画,中国却用“Excel”造“另类”软件

精益求精 表格是一项伟大的创造&#xff0c;它的出现改变了人类记录、分析和展示数据的方式。 随着科技的日益月异的更新&#xff0c;从最早的纸质表格到现代化的电子表格&#xff0c;人类对表格的改造也在不断的升级和进步。 最初的纸质表格的简单记录&#xff0c;无法进行复…

企业权限管理(八)-登陆使用数据库认证

Spring Security 使用数据库认证 在 Spring Security 中如果想要使用数据进行认证操作&#xff0c;有很多种操作方式&#xff0c;这里我们介绍使用 UserDetails 、 UserDetailsService来完成操作。 UserDetails public interface UserDetails extends Serializable { Collecti…

汇聚行业精英,共探创新之道:首届NDI生态系统行业峰会即将登陆北京!

IP化和轻量化是媒体制播技术发展的主要趋势。为了推进媒体行业的IP制播技术应用发展&#xff0c;提供一个专业、全面的媒体技术交流平台&#xff0c;长沙千视电子科技有限公司将联合NDI官方、NDI生态产品厂家和NDI技术应用媒体单位于2023年8月22日在北京举办国内首届NDI生态系统…

嵌入式开发学习(STC51-11-中断系统)

内容 外部中断-使用独立按键K3控制LED亮灭&#xff1b; 定时器&#xff08;中断&#xff09;-通过定时器0中断控制D1指示灯间隔1秒闪烁&#xff1b; 串口通信&#xff08;中断&#xff09;-通过串口&#xff08;UART&#xff09;实现与PC机对话&#xff0c;51单片机的串口收…

Leetcode算法递归类—合并两个有序链表

目录 21. 合并两个有序链表 题解&#xff1a; 代码&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&a…

logstash 采集 docker 日志

1、nginx容器部署 参考&#xff1a;nginx容器部署 将容器内的nginx日志文件映射到宿主机/home/logs/nginx目录下 注意&#xff1a;并且需要需要将日志的输出格式修改为json 2、编辑vim /opt/logstash-7.4.2/config/nginx-log-es.conf 文件&#xff0c;收集docker nginx容器日…

【时间格式引发的事故】

时间格式引发的事故 背景实战演示结论 背景 前不久写了一个删除数据接口&#xff0c;条件是根据时间删除时间后面的数据。入参是 时间字符串。后台的时间格式 是 yyyyMMdd。然后当时前端传参数的时候&#xff0c;随意的传了2023-07-31的时间&#xff0c;然后将该表的数据全部删…

CCLINK IE转MODBUS-TCP网关modbus tcp协议详解

你是否曾经遇到过需要同时处理CCLINK IE FIELD BASIC和MODBUS两种数据协议的情况&#xff1f;捷米的JM-CCLKIE-TCP网关可以帮助你解决这个问题。 捷米JM-CCLKIE-TCP网关可以分别从CCLINK IE FIELD BASIC一侧和MODBUS一侧读写数据&#xff0c;然后将数据存入各自的缓冲区。接着…

【学习】若依源码(前后端分离版)之 “ 用户管理根据不同角色、部门显示数据范围”

大型纪录片&#xff1a;学习若依源码&#xff08;前后端分离版&#xff09;之 “ 用户管理根据不同角色、部门显示数据范围” 前端部分后端部分“ /list " 方法" /treeselect " 方法 结语 起因是我想做一个根据不同角色以及其所在的部门展示其相应的信息&#x…