ARM看门狗定时器

作用

在S3C2440A中,看门狗定时器的作用是当由于噪声和系统错误引起的故障干扰时恢复控制器的工作
也就是说,系统内部的看门狗定时器需要在指定时间内向一个特殊的寄存器内写入一个数值,俗称喂狗
如果喂狗的时间过了,那么看门狗定时器就会发出一个复位信号导致系统复位
控制看门狗的寄存器如下:
在这里插入图片描述
可以看出,在初始状态下,看门狗定时器为1,是使能的,我们只需要将WTCON第五位清零即可。(需包含头文件#include<s3c2440.h>)
在这里插入图片描述

无头文件

无头文件的话,我们可以自己定义,WTCON寄存器的地址为0x53000000,而2440所有的寄存器都是32位的,那么就意味着我们需要把0x53000000这个地址开始连续的4个字节当作是一个无符号整型来看
我们可以定义一个宏,以便访问WTCON寄存器:

#define WTCON (*((volatile unsigned int *)(0x53000000)))
volatile:禁止编译器的优化,从而避免造成对实际空间访问的错误

写完宏后,我们就可以进一步编写看门狗失能函数:

void disableWTD(void)
{
	WTCON &= ~(1 << 5); //将第五位清零
}

并在主调函数中调用即可关闭看门狗:

int main(void)
{
	disableWTD();
	while(1)
	{
	}
}

相关推荐

  1. RK——看门

    2024-04-23 01:56:02       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 01:56:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 01:56:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 01:56:02       87 阅读
  4. Python语言-面向对象

    2024-04-23 01:56:02       96 阅读

热门阅读

  1. 判断是不是二叉搜索树【c++】

    2024-04-23 01:56:02       36 阅读
  2. draw.io使用心得

    2024-04-23 01:56:02       34 阅读
  3. Ps基础学习笔记

    2024-04-23 01:56:02       33 阅读
  4. numpy where函数在二维数组中的使用及应用

    2024-04-23 01:56:02       38 阅读
  5. centos 下如何锁定docker版本

    2024-04-23 01:56:02       32 阅读
  6. xml开发mybatis

    2024-04-23 01:56:02       40 阅读
  7. es 深入了解和索引生命周期管理

    2024-04-23 01:56:02       30 阅读