#ifndef __SWM050_WDT_H__
#define	__SWM050_WDT_H__

typedef struct {
	uint32_t mode;		//0 看门狗从time1倒计数到0后立即复位芯片
						//1 看门狗从time1倒计数到0后不复位芯片而是产生中断，并同时开始从time2倒计数，到0的时候如果中断标志没有被清除则复位芯片
	uint32_t time1;		//见mode的解释；取值范围为0-15，表示的时间长度为2**(16+time1)个CPU周期
	uint32_t time2;		//见mode的解释；取值范围为0-15，表示的时间长度为2**(16+time2)个CPU周期
} WDT_InitStructure;

void WDT_Init(WDT_T * WDTx,WDT_InitStructure * initStruct);	//WDT看门狗初始化
void WDT_Open(WDT_T * WDTx);		//WDT看门狗使能，使能是指给WDT模块提供工作时钟
void WDT_Close(WDT_T * WDTx);		//WDT看门狗禁能，禁能是指切断WDT模块的时钟供给，从而减小能耗
void WDT_Start(WDT_T * WDTx);		//启动指定WDT，开始倒计时
void WDT_Stop(WDT_T * WDTx);		//关闭指定WDT，停止倒计时
void WDT_Feed(WDT_T * WDTx);		//喂狗，重新从装载值开始倒计时
void WDT_INTClr(WDT_T * WDTx);		//看门狗计时器超时中断标志清除
int32_t WDT_GetValue(WDT_T * WDTx);	//获取指定看门狗定时器的当前倒计时值
 
#endif //__SWM050_WDT_H__
