zoukankan      html  css  js  c++  java
  • 嵌入式成长轨迹59 【Zigbee项目】【CC2430基础实验】【喂狗】

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

    void FeetDog(void) ;
    函数原型:

    1 void FeetDog(void) 
    2 { 
    3   WDCTL = 0xa0; 
    4   WDCTL = 0x50; 
    5 } 

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

     1 //main.c
     2 
     3 # include <ioCC2430.h>
     4 
     5 #define uint unsigned int
     6 
     7 #define led1  P1_0
     8 #define led2  P1_1
     9 
    10 void Init_IO(void)
    11 {
    12     P1DIR = 0x03;
    13     led1 = 1;
    14     led2 = 1;
    15 }
    16 
    17 void Init_Watchdog(void)
    18 {
    19     WDCTL = 0x00;
    20     //时间间隔一秒,看门狗模式
    21     WDCTL |= 0x08;
    22     //启动看门狗
    23 }
    24 
    25 void Init_Clock(void)
    26 {
    27     CLKCON = 0X00;
    28 }
    29 
    30 void FeetDog(void)
    31 {
    32     WDCTL = 0xa0;
    33     WDCTL = 0x50;
    34 }
    35 
    36 void Delay(void)
    37 {
    38     uint n;
    39     for(n=50000;n>0;n--);
    40     for(n=50000;n>0;n--);
    41     for(n=50000;n>0;n--);
    42     for(n=50000;n>0;n--);
    43     for(n=50000;n>0;n--);
    44     for(n=50000;n>0;n--);
    45     for(n=50000;n>0;n--);
    46 }
    47 
    48 void main(void)
    49 {
    50     Init_Clock();
    51     Init_IO();
    52     Init_Watchdog();
    53 
    54     led1=0;
    55     Delay();
    56     led2=0;
    57     while(1)
    58     {
    59         FeetDog();    
    60     }    //喂狗指令(加入后系统不复位,小灯不闪烁)
    61 }
  • 相关阅读:
    cf-779E (拆位)
    石子游戏 (SG函数)
    [POI2017] Flappy Bird (思维题)
    Alice and Bob (SG函数)
    Red is good (DP)
    CodeVS-1669 (背包问题)
    GalaxyOJ-468 (LCA)
    BZOJ-1191 (二分图匹配)
    Reinforcement Learning 笔记(4)
    Reinforcement Learning 笔记(3)
  • 原文地址:https://www.cnblogs.com/zeedmood/p/2666955.html
Copyright © 2011-2022 走看看