cc2530 看门狗小实验


看门狗程序的编程思路

1.设置好系统时钟源

2.初始化看门狗,选择看门狗模式,1秒的间隔

3.循环使用喂狗程序

/***********************************************
* @project : 看门狗实验
* @时间    :2014年1月20日
* @姓名    :林少游
***********************************************/

#include 

#define uint unsigned int 
#define uchar unsigned char

#define YLED P1_0
#define BLED P1_1

/***********************************************
* @fn     :SET_MAIN_CLOCK
* @brief  : 设置系统主时钟
* @param  :source - 0:选择32MHz的XOSC  
                     1:选择16MHz的RCOSC
* @return :none
***********************************************/
void SET_MAIN_CLOCK(uint source)
{
  if(source)
  {
    CLKCONCMD |= 0X40;          //RCOSC
    while(!(CLKCONSTA & 0X40)); //等待晶振稳定
  }
  else 
  {
    CLKCONCMD &= ~0X47;         //XOSC
    while(CLKCONSTA & 0X40);    //等待晶振稳定
  }
}

/***********************************************
* @fn     :Init_IO
* @brief  : 初始化LED灯
* @param  :none
* @return :none
***********************************************/
void Init_IO()
{
  P1DIR |= 0X03;              //P1.0,P1.1 设置为输出
  YLED = 0;
  BLED = 0;                   //灯全灭
}

/***********************************************
* @fn     :Init_WatchDog
* @brief  : 初始化看门狗
* @param  :none
* @return :none
***********************************************/
void Init_WatchDog()
{
  WDCTL = 0X00;
  WDCTL |= 0X08;              //选择看门狗模式,1秒的间隔
}

/***********************************************
* @fn     :Delay
* @brief  : 延时
* @param  :n - 延时长度
* @return :none
***********************************************/
void Delay(uint n)
{
  uint i;
  for(i=0;i


你可能感兴趣的:(单片机,cc2530)