67 lines
1.8 KiB
C
67 lines
1.8 KiB
C
/*
|
|
* Copyright (c) 2006-2020, YICHIP Development Team
|
|
* @file yc_wdt.h
|
|
* @brief This file provides all the WDT firmware functions.
|
|
*
|
|
* Change Logs:
|
|
* Date Author Version Notes
|
|
* 2021-01-04 yangzhengfeng V1.0.0 the first version
|
|
*/
|
|
|
|
#ifndef __YC_WDT_H__
|
|
#define __YC_WDT_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "yc3122.h"
|
|
#include "system.h"
|
|
|
|
|
|
typedef enum
|
|
{
|
|
WDT_CPUReset = 0,
|
|
WDT_Interrupt,
|
|
} WDT_ModeTypeDef;
|
|
|
|
#define WDTCLKDIV_1 0x00
|
|
#define WDTCLKDIV_2 0x01
|
|
#define WDTCLKDIV_3 0x02
|
|
#define WDTCLKDIV_4 0x03
|
|
#define WDTCLKDIV_5 0x04
|
|
#define WDTCLKDIV_6 0x05
|
|
#define WDTCLKDIV_7 0x06
|
|
#define WDTCLKDIV_8 0x07
|
|
#define WDTCLKDIV_9 0x08
|
|
#define WDTCLKDIV_10 0x09
|
|
#define WDTCLKDIV_11 0x0A
|
|
#define WDTCLKDIV_12 0x0B
|
|
#define WDTCLKDIV_13 0x0c
|
|
#define WDTCLKDIV_14 0x0D
|
|
#define WDTCLKDIV_15 0x0E
|
|
#define WDTCLKDIV_16 0x0F
|
|
|
|
/**************the value of feed dog************/
|
|
#define COUNTER_RELOAD_KEY 0x5937
|
|
#define ITSTATUS 0x01
|
|
#define IS_WDT_CLKDI(wdtclkdiv) (wdtclkdiv < 16)
|
|
#define IS_WDT_RELOAD(load) (load <= 0x1f)
|
|
#define IS_WDT_MODE(mode) ((mode == WDT_CPUReset) || (mode == WDT_Interrupt))
|
|
|
|
void WDT_CLKDIV(uint32_t Wdtclkdiv);
|
|
void WDT_SetReload(uint32_t Reload);
|
|
void WDT_ModeConfig(WDT_ModeTypeDef WDT_Mode);
|
|
void WDT_ClearITPendingBit(void);
|
|
void WDT_Enable(void);
|
|
void WDT_ReloadCounter(void);
|
|
uint8_t WDT_GetITStatus(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /*__YC_WDT_H__*/
|
|
|
|
/************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/
|