⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdt.c

📁 LPC2214看门狗程序源代码,是产品上已经应用的,放心使用.
💻 C
字号:
/*******************************************************************************************************
**                               北京同方清芝商用机器有限公司
**                                     研    发    部
**
**                                 http://www.btfts.com
**
**--------------文件信息--------------------------------------------------------------------------------
**                               
**文   件   名: WDT.C
**创   建   人: 李森树
**最后修改日期: 2007年4月19日
**描        述: WatchDog 操作软件包.
**
********************************************************************************************************/

#define	IN_WDT
#include "config.h"

/****************************************************************************
* 名称:DelayUS()
* 功能:100微秒延时。
* 入口:dly	延时参数
* 出口:无
****************************************************************************/
void  DelayUS(uint16  dly)
{  
	uint16  i;
	for(; dly>0; dly--)
   	{
   		for(i=0; i<550; i++);    			
   	}   	
}
/****************************************************************************
* 名称:DelayMS()
* 功能:1毫秒延时 DelayMS(1)=1ms DelayMS(10)=10ms DelayMS(65535)=65535ms约65.5s
* 入口:dly	延时参数 
* 出口:无
****************************************************************************/
void  DelayMS(uint16  dly)
{  
	uint16  i;
	for(; dly>0; dly--)
   	{
   		for(i=0; i<5500; i++);    			
   	}   	
}
/*********************************************************************************************************
**函数名称:void WatchDogInit(uint32 time, uint8 bRst)
**函数功能:初始化看门狗
**入口参数:time    看门狗定时时间
            bRst    是否使能看门狗复位 。0 :不使能看门狗复位
                                         >0 :使能看门狗复位
**出口参数:无 
**说明:
********************************************************************************************************/
void WatchDogInit(uint32 time, uint8 bRst)
{
	IRQDisable();
	
    WDTC = time;    //装载看门狗定时值   看门狗定时时间:tpclk × 4 × (time+1),最小值为tpclk×4×256
    if(bRst > 0)
    {
        WDMOD = 0x03; //使能看门狗中断和复位   
    }
    else
    {
        WDMOD = 0x01; //仅使能看门狗中断
    }  
    
    //喂狗序列  使得WDTC的值重新装入看门狗定时器,启动看门狗运行。
    WDFEED = 0xAA;
    WDFEED = 0x55;
    
    IRQEnable();        
}
/*********************************************************************************************************
**函数名称:void FeedDog(void)
**函数功能:执行喂狗序列
**入口参数:无
**出口参数:无 
**说明:
********************************************************************************************************/
void FeedDog(void)
{
	IRQDisable();
    WDFEED = 0xAA;
    WDFEED = 0x55; 
    IRQEnable();    
}
/*********************************************************************************************************
**函数名称:uint8 IsWDOverTimeFlg(void)
**函数功能:判断是否产生看门狗超时标志
**入口参数:无
**出口参数:0:未产生超时标志  >0:产生超时标志  
**说明:
********************************************************************************************************/
uint8 IsWDOverTimeFlg(void)
{
    return (WDMOD & 0x04);
}

/*********************************************************************************************************
**函数名称:void CleanWDOverTimeFlg(void)
**函数功能:清零看门狗超时标志
**入口参数:无
**出口参数:0:未产生中断标志  >0:产生了中断标志   
**说明:
********************************************************************************************************/
void CleanWDOverTimeFlg(void)
{
    WDMOD = 0;    //清零WDOD.2位即WDTOF
}
/*********************************************************************************************************
**函数名称:uint8 IsWDIntFlg(void)
**函数功能:判断是否产生看门狗中断标志
**入口参数:无
**出口参数:0:未产生中断标志  >0:产生了中断标志    
**说明:
********************************************************************************************************/
uint8 IsWDIntFlg(void)
{
    return (WDMOD & 0x08);
}
/*********************************************************************************************************
**函数名称:uint32 GetWDTimeVal(void)
**函数功能:读取看门狗定时器的当前值。
**入口参数:无
**出口参数:看门狗定时器的当前值     
**说明:
********************************************************************************************************/
uint32 GetWDTimeVal(void)
{
    return WDTV;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -