ARM接口编程—WDT(exynos 4412平台)

WDT简介

  • Watch Dog Timer即看门狗定时器,其主要作用是当发生软件故障时可产生复位信号使SOC复位,其本质是一个计数器

在这里插入图片描述

  • WDT工作原理
    在这里插入图片描述

WTD寄存器

在这里插入图片描述

wtd控制寄存器

用于设置一级分频、二级分频、使能、产生复位和中断信号
在这里插入图片描述

WTD数据寄存器

用于获取计数值,当watch dog开启时会自动递减
在这里插入图片描述

WTD计数寄存器

用于设置当前的计数值

在这里插入图片描述
代码实现文章来源地址:https://www.uudwc.com/A/8d63q/

#include "exynos_4412.h"

void delay(unsigned int i)
{
	while(i--);
}

int main()
{
	// 设置一级分频为256
	WDT.WTCON |= (0xFF << 8);
	// 设置二级分频为128
	// 递减频率为 PCLOK(100000000) / (0xFF + 1) / 128 = 3052
	WDT.WTCON |= (0x3 << 3);
	// 禁用中断
	WDT.WTCON &= ~(1 << 2);
	// 使能复位功能
	WDT.WTCON |= 0x1;
	// 设置计数值为5s
	WDT.WTCNT = 3052 * 5;

	while(1)
	{
		printf("WTD.WTDAT = %d\n", WDT.WTDAT);

		// 喂狗
		WDT.WTCNT = 3052 * 5;
		delay(100000);
	}

	return 0;
}

原文地址:https://blog.csdn.net/hhltaishuai/article/details/132803715

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇2023年09月12日 05:41
下一篇 2023年09月12日 05:41