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

📄 watchdog.c

📁 周立功2103开发板CD资料
💻 C
字号:
/*********************************************************************************************************
**文件名称: WatchDog . c
**功能说明: WatchDog 操作软件包
**使用说明: 
********************************************************************************************************/

#include "config.h"
#include "WatchDog.h"

/*********************************************************************************************************
**函数名称:void WatchDogInit(uint32 time, uint8 bRst)
**函数功能:初始化看门狗
**入口参数:time    看门狗定时时间
            bRst    是否使能看门狗复位 。0 :不使能看门狗复位
                                         >0 :使能看门狗复位
**出口参数:无 
**说明:
********************************************************************************************************/
void WatchDogInit(uint32 time, uint8 bRst)
{
    WDTC = time;    //装载看门狗定时值   看门狗定时时间:tpclk × 4 × (time+1),最小值为tpclk×4×256
    if(bRst > 0)
    {
        WDMOD = 0x03; //使能看门狗中断和复位   
    }
    else
    {
        WDMOD = 0x01; //仅使能看门狗中断
    }  
    
    //喂狗序列  使得WDTC的值重新装入看门狗定时器,启动看门狗运行。
    WDFEED = 0xAA;
    WDFEED = 0x55;
        
}


/*********************************************************************************************************
**函数名称:void FeedDog(void)
**函数功能:执行喂狗序列
**入口参数:无
**出口参数:无 
**说明:
********************************************************************************************************/
void FeedDog(void)
{
    WDFEED = 0xAA;
    WDFEED = 0x55;     
}


/*********************************************************************************************************
**函数名称: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 + -