第一节 S5PV210的看门狗定时器
S5PV210上的看门狗定时器相当于一个普通的16bit的定时器,它与PWM定时器的区别是看门狗定时器可以产生reset信号而PWM定时器不能,S5PV210看门狗定时器的结构图如下:

第二节 程序相关讲解
完整代码见目录见详细代码下载链接。
1. main.c
共4个步骤:
第一步 初始化串口;
第二步 中断相关初始化;
第三步 测试看门狗,调用函数wtd_test(),其定义位于wtd.c中;
第四步 死循环,等待看门狗中断的发生;

2. wtd.c
wtd_test()的内容包括4个步骤:
第一步 VIC相关的中断设置,包括设置WTD中断的处理函数为isr_wtd()和使能中断;
第二步 测试看门狗定时的功能,调用了函数wtd_operate(),这里我们只是使能了看门狗定时器的定时功能,而并没有使能reset功能;

wtd_operate()的完整代码如下:
void wtd_operate(unsigned long uenreset, unsigned long uenint, unsigned long uselectclk, unsigned long uenwtd, unsigned long uprescaler,unsigned long uwtdat, unsigned long uwtcnt)
{
WTDAT = uwtdat;
WTCNT = uwtcnt;
/*uenreset: 是否使能reset *uenint: 是否使能中断 *uselectclk: 分频系数 *uenwtd:是否启动定时器 *bit[8:15]:预分频系数 */
WTCON= (uenreset<<0)|(uenint<<2)|(uselectclk<<3)|(uenwtd<<5)|((uprescaler)<<8);
}
首先设置计数相关的寄存器WTDAT和WTCNT,寄存器WTDAT用来决定看门狗定时器的超时周期,在看门狗定时器启动后,寄存器WTDAT的值会自动传入寄存器WTCNT,当WTCNT计数达到0时:如果中断被使能的话会发出中断,如果reset功能被使用的话会发出复位信号,然后装载WTDAT的值并重新计数。

寄存器WTCON进行相关配置,用来决定是否使能reset、是否使能中断、分频、是否启动定时器等,具体见下图:

最后再来看看看门狗中断的处理函数,代码如下:
void isr_wtd()
{
//记录中断发生次数
static int wtdcounter=0;
printf("%d\r\n",++wtdcounter);
// 看门狗相关中断清除
WTCLRINT = 1;
// VIC相关中断清除
intc_clearvectaddr();
if(wtdcounter==5)
{
// 看门狗reset printf("waiting system reset\r\n");
wtd_operate(1,1,0,1,100,100000000,100000000);
}
}
共3个步骤:
第一步 打印中断发生的次数;
第二步 中断清除;
第三步 当发生了5次定时中断后,使能看门狗的reset功能,此时系统会重启;

第三节 实验现象
首先会打印1、2、3、4...,当打印5时,watchdog的reset功能被使能,系统会重启,说明看门狗的复位作用生效了。

详细代码下载链接:http://download.csdn.net/detail/klcf0220/5741763

S5PV210 看门狗定时和复位的更多相关文章

  1. mini2440裸机试炼之——看门狗中断和复位操作

    看门狗的工作原理: 设本系统程序完整执行一周期的时间是Tp,看门狗的定时周期为Ti,Ti>Tp,在程序正常执行时,定时器就不会溢出,若因为干扰等原因使系统不能在Tp时刻改动定时器的记数值,定时器 ...

  2. MSP430常见问题之看门狗及定时器类

    Q1. 定时器两个中断TAIE 和CCIE,有什么区别?两个中断的中断向量一样吗?A1:TAIE 和CCIE指的是不同事件.TAIE指TAR 计数器溢出,从65535 到0 的变化,由TAIFG 引起 ...

  3. STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)

    一     前沿废语: 之前有很风靡的游戏,名字叫<看门狗>.该游戏用了很新的引擎技术,打造出了一个辽阔庞大的世界,内容是玩家Aiden·Pearce(主角)是一名精通黑客技术的高手,当时 ...

  4. S3C2440看门狗解析

    个PCLK周期的复位信号 也就是说,在某些环境下,看门狗可以当做定时器使用,当他中断的时候并不发生复位,只发生中断,我看看图 看门狗的中断和复位信号是可以依靠wtcon来切断的(看门狗的时钟是无法切断 ...

  5. at91 看门狗

    看 门狗的驱动一般来说比较简单,只要做寄存器的设置实现开启.关闭.喂狗功能.本项目中我们使用的是at91sam9g45处理器,带有看门狗定时器.这个 看门狗的驱动却比较复杂,应用层想用它的话,将涉及到 ...

  6. zigbee学习之路(十一):看门狗

    一.前言 今天,我们要通过实验学习和认识一下看门狗的使用,看门狗是为了防止防止程序跑飞的,通过不断的喂狗,使看门狗能持续监管程序的运行状态,当程序跑飞时,能及时把程序拽回来. 二.原理与分析 在CPU ...

  7. stm32 看门狗配置

    1.独立看门狗: 1) 取消寄存器写保护(向 IWDG_KR 写入 0X5555) IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);  //使能或者失能 2) ...

  8. 窗口看门狗 WWDG

    一,窗口看门狗 二,喂狗注意事项 三,程序设计 1.检查复位状态,有助于观察当前工作的可靠性 /* Check if the system has resumed from WWDG reset ,检 ...

  9. 痞子衡嵌入式:聊聊系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响. 软件看门狗模块(WDOG)在 MCU 应用里可以说是非常基础的功能模 ...

随机推荐

  1. Spring的FactoryBean使用

     Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean.工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该工厂Bean的g ...

  2. [luogu2114][起床困难综合症]

    luogu2114 思路 因为位运算对于每一位是独立的,所以对每一位都对这n个数进行操作,然后观察最后得出的是1还是0.并且保证每一位拼起来之后要比m小. 代码 #include<cstdio& ...

  3. es6数组的复制

    数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组. const a1 = [1, 2]; const a2 = a1; a2[0] = 2; a1 // ...

  4. echarts3地图如何添加点击事件? 点击地图相应的区域ajax获取并展示本区域省下面所有市的信息

    myChart.on('click', function (params) { var city = params.name; loadChart(city); });

  5. Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException

    今天在学习spring 框架的时候看着,很简单.但是在真正开始做的时候发现,异常一个接着一个,整的肚子都被搞大了. Exception in thread "main" org.s ...

  6. java中各种时间公式

    /** * 返回当前时间 * * @return 返回当前时间 */ public static Date getCurrentDateTime() { java.util.Calendar calN ...

  7. SDRAM学习笔记(二)

    上一篇博客主要讲解了一下SDRAM整体结构以及PCB方面的注意事项.接下来讲解一下需要用到的一些命令. 1.常用命令的缩写 上述是常用到的一些指令集. 2.模式寄存器   (1)突发长度 通过对A0~ ...

  8. Java基础-Eclipse第三方安装包管理工具之Maven

    Java基础-Eclipse第三方安装包管理工具之Maven 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩过Linux的小伙伴应该都知道yum吧,我们只要把搭建好的yum仓库配 ...

  9. Linux下环境变量设置技巧

    Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置 区别: 1.两个文件都是设置环境变量文件的,/etc/profile是 ...

  10. cdqz2017-test10-柚的策略(期望DP & 组合数学)

    根据期望的可加性,我们可以算出每一位客人的期望等待时间,将他们累加 即 每一位客人所有可能情况的时间之和 / n! 设S= 每一位客人所有可能情况的时间之和 如果有f(i,p)种方案使客人i是恰好第p ...