您的位置:首页 > 其它

嵌入式成长轨迹59 【Zigbee项目】【CC2430基础实验】【喂狗】

2012-09-01 18:44 344 查看
本实验与上一个实验都以看门狗为学习目标,在实验二十一学会初始化看门狗,同时也知道了看门狗的作用,本实验着重学习复位看门狗。复位看门狗后小灯不会闪烁。

void FeetDog(void) ;
函数原型:

void FeetDog(void)
{
WDCTL = 0xa0;
WDCTL = 0x50;
}


函数功能:复位看门狗,必须在看门狗时间间隔内调用本函数复位看门狗,否则系统会被强制复位。间隔之后再调用本函数无意义。

//main.c

# include <ioCC2430.h>

#define uint unsigned int

#define led1  P1_0
#define led2  P1_1

void Init_IO(void)
{
P1DIR = 0x03;
led1 = 1;
led2 = 1;
}

void Init_Watchdog(void)
{
WDCTL = 0x00;
//时间间隔一秒,看门狗模式
WDCTL |= 0x08;
//启动看门狗
}

void Init_Clock(void)
{
CLKCON = 0X00;
}

void FeetDog(void)
{
WDCTL = 0xa0;
WDCTL = 0x50;
}

void Delay(void)
{
uint n;
for(n=50000;n>0;n--);
for(n=50000;n>0;n--);
for(n=50000;n>0;n--);
for(n=50000;n>0;n--);
for(n=50000;n>0;n--);
for(n=50000;n>0;n--);
for(n=50000;n>0;n--);
}

void main(void)
{
Init_Clock();
Init_IO();
Init_Watchdog();

led1=0;
Delay();
led2=0;
while(1)
{
FeetDog();
}    //喂狗指令(加入后系统不复位,小灯不闪烁)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐