Chinaunix首页 | 论坛 | 博客
  • 博客访问: 72624
  • 博文数量: 63
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 14
  • 用 户 组: 普通用户
  • 注册时间: 2018-09-15 14:26
文章分类

全部博文(63)

文章存档

2018年(63)

我的朋友

分类: 嵌入式

2018-09-15 14:31:26

看门狗实验


t_watchdog = 1/(PCLK/(Prescaler value + 1)/Division_factor)
                    = 1/100000000Hz/(249+1)/128
                    = 1/3125  s         

 WTCON:
Prescaler value  [15:8]: Prescaler value.  The valid range is from 0 to (2^8– 1).    249
        WDT timer  [5] : 1 = Enables WDT bit    //开启看门狗
        Clock select  [4:3]: 00 = 16          
                              01 = 32
                              10 = 64
                              11 = 128
        Reset enable/disable [0]; 1  enable

        WTCNT:  31250    10s

点击(此处)折叠或打开

  1. #include "exynos_4412.h"

  2. int main()
  3. {
  4.     /* 1. 设置一级分频系数 */
  5.     WDT.WTCON = WDT.WTCON & (~(0xff<<8)) | (249<<8);

  6.     /* 2, 设置二级分频系数 */
  7.     WDT.WTCON = WDT.WTCON & (~(0x3<<3)) | (0x3<<3); //1/100M/250/128 = 1/3125s

  8.     /* 3. 设置减法计数器的值 */
  9.     //WDT.WTDAT = 31250; //10s系统复位
  10.     WDT.WTCNT = 31250; //31250 * 1/3125s = 10s

  11.     /* 4. 开启看门狗的reset功能 */
  12.     WDT.WTCON |= (0x1<<0);

  13.     /* 5. 开启看门狗 */
  14.     WDT.WTCON |= (0x1<<5);

  15.     while (1)
  16.     {
  17.         WDT.WTCNT = 3000; //喂狗
  18.     }

  19.     return 0;
  20. }

阅读(534) | 评论(0) | 转发(0) |
0

上一篇:Cortex_A9----RTC

下一篇:Cortex_A9----PWM

给主人留下些什么吧!~~