博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LPC2103开发板WDT看门狗测试试验
阅读量:6158 次
发布时间:2019-06-21

本文共 1237 字,大约阅读时间需要 4 分钟。

 

代码
 
#include
"
config.h
"
#define
LED1 (1 << 19)
#define
KEY1 (1 << 18)
void
DelayNS(uint32 dly)
{
uint32 i;
for
(;dly
>
0
; dly
--
)
{
for
(i
=
0
; i
<
50000
; i
++
);
}
}
void
WDTInit(uint32 uiTime)
{
WDTC
=
uiTime;
WDMOD
=
0x03
;
WDFEED
=
0xaa
;
WDFEED
=
0x55
;
}
void
FeedDog(
void
)
{
IRQDisable();
WDFEED
=
0xaa
;
WDFEED
=
0x55
;
IRQEnable();
}
int
main(
void
)
{
uint32 i;
PINSEL0
=
0x00000000
;
PINSEL1
=
0x00000000
;
IODIR
=
LED1;
IOCLR
=
LED1;
DelayNS(
100
);
IOSET
=
LED1;
WDTInit(
0x200000
);
while
(
1
)
{
while
((IOPIN
&
KEY1)
==
0
);
for
(i
=
0
; i
<
0xff
; i
++
);
FeedDog();
}
}

 

#include "config.h"

 

#define LED1 (1 << 19)

#define KEY1 (1 << 18)

void DelayNS(uint32 dly)

{
    uint32 i;
    for(;dly > 0; dly--)
    {
        for(i = 0; i < 50000; i++);
    }
}

void WDTInit(uint32 uiTime)

{
    WDTC = uiTime;
    WDMOD = 0x03;
   
   
    WDFEED = 0xaa;
    WDFEED = 0x55;
}

void FeedDog(void)

{
    IRQDisable();
    WDFEED = 0xaa;
    WDFEED = 0x55;
   
    IRQEnable();
}

int main(void)

{
    uint32 i;
    PINSEL0 = 0x00000000;
    PINSEL1 = 0x00000000;
   
    IODIR = LED1;
    IOCLR = LED1;
   
    DelayNS(100);
    IOSET = LED1;
   
    WDTInit(0x200000);
   
    while(1)
    {
        while((IOPIN & KEY1) == 0);
        for(i = 0; i < 0xff; i++);
        FeedDog();
    }
}

 

实验现象,正常情况下:上电后,LED会闪一下。因为定时喂狗,就这样一直不闪了。

我们通过按键来模拟意外事件。

 

当长按住按键时,因为不能定时的喂狗,所以LED就会不停的闪烁。

转载地址:http://iqifa.baihongyu.com/

你可能感兴趣的文章
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>
使用Formik轻松开发更高质量的React表单(三)<Formik />解析
查看>>
也问腾讯:你把用户放在什么位置?
查看>>
CSS Sprites 样式生成工具(bg2css)
查看>>
[转]如何重构代码--重构计划
查看>>
类中如何对list泛型做访问器??
查看>>
C++解析XML--使用CMarkup类解析XML
查看>>
P2P应用层组播
查看>>
Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
查看>>
CSS引入的方式有哪些? link和@import的区别?
查看>>
Redis 介绍2——常见基本类型
查看>>
asp.net开发mysql注意事项
查看>>
(转)Cortex-M3 (NXP LPC1788)之EEPROM存储器
查看>>
ubuntu set defult jdk
查看>>