联系我们
简单又实用的WordPress网站制作教学
当前位置:网站首页 > 程序开发学习 > 正文

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

作者:小教学发布时间:2023-09-25分类:程序开发学习浏览:49


导读:WDT简介WatchDogTimer即看门狗定时器,其主要作用是当发生软件故障时可产生复位信号使SOC复位,其本质是一个计数器WDT工作原理WTD寄存器wtd控...

WDT简介

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

在这里插入图片描述

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

WTD寄存器

在这里插入图片描述

wtd控制寄存器

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

WTD数据寄存器

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

WTD计数寄存器

用于设置当前的计数值

在这里插入图片描述
代码实现

#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;
}




程序开发学习排行
最近发表
网站分类
标签列表