📄 watchdog.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 + -