hpw422移植新的sdk
This commit is contained in:
@@ -0,0 +1,264 @@
|
||||
/*!
|
||||
* \file xc6xxx_hal_wdt.h
|
||||
*
|
||||
* \brief The header of xc6xxx_hal_wdt.c
|
||||
*
|
||||
* \copyright Revised BSD License, see section \ref LICENSE.
|
||||
*
|
||||
* \code
|
||||
*
|
||||
* _ __ _ ________ _
|
||||
* | |/ /(_)___ / ____/ /_ (_)___
|
||||
* | // / __ \/ / / __ \/ / __ \
|
||||
* / |/ / / / / /___/ / / / / /_/ /
|
||||
* /_/|_/_/_/ /_/\____/_/ /_/_/ .___/
|
||||
* /_/
|
||||
* (C) 2022-2025 XinChip
|
||||
*
|
||||
* \endcode
|
||||
*
|
||||
* \author ( XinChip ) Alex-J
|
||||
*
|
||||
* \author ( XinChip )
|
||||
*/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __XC_DRV_WDT_H_
|
||||
#define __XC_DRV_WDT_H_
|
||||
|
||||
/*-----------------------------------------------------------------------------------
|
||||
INCLUDE HEADE FILES
|
||||
------------------------------------------------------------------------------------*/
|
||||
#include "xc6xxx.h"
|
||||
|
||||
#define WDT_SYS_RSTN_MASK_DISABLE (0x00)
|
||||
#define WDT_SYS_RSTN_MASK_ENABLE (0x01)
|
||||
#define WDT_M0_RSTN_MASK_ENABLE (0x02)
|
||||
#define WDT_M0_RSTN_MASK_DISABLE (0x00)
|
||||
|
||||
#define WDT_CR_RPL_2PCLK (0UL)
|
||||
#define WDT_CR_RPL_4PCLK (1UL)
|
||||
#define WDT_CR_RPL_8PCLK (2UL)
|
||||
#define WDT_CR_RPL_16PCLK (3UL)
|
||||
#define WDT_CR_RPL_32PCLK (4UL)
|
||||
#define WDT_CR_RPL_64PCLK (5UL)
|
||||
#define WDT_CR_RPL_128PCLK (6UL)
|
||||
#define WDT_CR_RPL_256PCLK (7UL)
|
||||
|
||||
#define WDT_CRR_CRR_ENABLE (0x76UL)
|
||||
|
||||
|
||||
|
||||
#define WDT_CLK_32K_RESET_MODE0_2048MS 0x00
|
||||
#define WDT_CLK_32K_RESET_MODE0_4096MS 0x01
|
||||
#define WDT_CLK_32K_RESET_MODE0_8192MS 0x02
|
||||
#define WDT_CLK_32K_RESET_MODE0_16384MS 0x03
|
||||
#define WDT_CLK_32K_RESET_MODE0_32768MS 0x04
|
||||
#define WDT_CLK_32K_RESET_MODE0_65536MS 0x05
|
||||
#define WDT_CLK_32K_RESET_MODE0_131072MS 0x06
|
||||
#define WDT_CLK_32K_RESET_MODE0_262144MS 0x07
|
||||
#define WDT_CLK_32K_RESET_MODE0_524288MS 0x08
|
||||
#define WDT_CLK_32K_RESET_MODE0_1048576MS 0x09
|
||||
#define WDT_CLK_32K_RESET_MODE0_2097152MS 0x0a
|
||||
#define WDT_CLK_32K_RESET_MODE0_4194304MS 0x0b
|
||||
#define WDT_CLK_32K_RESET_MODE0_8388608MS 0x0c
|
||||
#define WDT_CLK_32K_RESET_MODE0_16777216MS 0x0d
|
||||
#define WDT_CLK_32K_RESET_MODE0_33554432MS 0x0e
|
||||
#define WDT_CLK_32K_RESET_MODE0_67108864MS 0x0f
|
||||
|
||||
#define WDT_CLK_16M_RESET_MODE0_8192US 0x00
|
||||
#define WDT_CLK_16M_RESET_MODE0_16384US 0x01
|
||||
#define WDT_CLK_16M_RESET_MODE0_32768US 0x02
|
||||
#define WDT_CLK_16M_RESET_MODE0_65536US 0x03
|
||||
#define WDT_CLK_16M_RESET_MODE0_131072US 0x04
|
||||
#define WDT_CLK_16M_RESET_MODE0_262144US 0x05
|
||||
#define WDT_CLK_16M_RESET_MODE0_524288US 0x06
|
||||
#define WDT_CLK_16M_RESET_MODE0_1048576US 0x07
|
||||
#define WDT_CLK_16M_RESET_MODE0_2097152US 0x08
|
||||
#define WDT_CLK_16M_RESET_MODE0_4194304US 0x09
|
||||
#define WDT_CLK_16M_RESET_MODE0_8388608US 0x0a
|
||||
#define WDT_CLK_16M_RESET_MODE0_16777216US 0x0b
|
||||
#define WDT_CLK_16M_RESET_MODE0_33554432US 0x0c
|
||||
#define WDT_CLK_16M_RESET_MODE0_67108864US 0x0d
|
||||
#define WDT_CLK_16M_RESET_MODE0_134217728US 0x0e
|
||||
#define WDT_CLK_16M_RESET_MODE0_268435456US 0x0f
|
||||
|
||||
#define WDT_CLK_32M_RESET_MODE0_4096US 0x00
|
||||
#define WDT_CLK_32M_RESET_MODE0_8192US 0x01
|
||||
#define WDT_CLK_32M_RESET_MODE0_16384US 0x02
|
||||
#define WDT_CLK_32M_RESET_MODE0_32768US 0x03
|
||||
#define WDT_CLK_32M_RESET_MODE0_65536US 0x04
|
||||
#define WDT_CLK_32M_RESET_MODE0_131072US 0x05
|
||||
#define WDT_CLK_32M_RESET_MODE0_262144US 0x06
|
||||
#define WDT_CLK_32M_RESET_MODE0_524288US 0x07
|
||||
#define WDT_CLK_32M_RESET_MODE0_1048576US 0x08
|
||||
#define WDT_CLK_32M_RESET_MODE0_2097152US 0x09
|
||||
#define WDT_CLK_32M_RESET_MODE0_4194304US 0x0a
|
||||
#define WDT_CLK_32M_RESET_MODE0_8388608US 0x0b
|
||||
#define WDT_CLK_32M_RESET_MODE0_16777216US 0x0c
|
||||
#define WDT_CLK_32M_RESET_MODE0_33554432US 0x0d
|
||||
#define WDT_CLK_32M_RESET_MODE0_67108864US 0x0e
|
||||
#define WDT_CLK_32M_RESET_MODE0_134217728US 0x0f
|
||||
|
||||
|
||||
#define WDT_CLK_48M_RESET_MODE0_2731US 0x00
|
||||
#define WDT_CLK_48M_RESET_MODE0_5461US 0x01
|
||||
#define WDT_CLK_48M_RESET_MODE0_10923US 0x02
|
||||
#define WDT_CLK_48M_RESET_MODE0_21845US 0x03
|
||||
#define WDT_CLK_48M_RESET_MODE0_43691US 0x04
|
||||
#define WDT_CLK_48M_RESET_MODE0_87381US 0x05
|
||||
#define WDT_CLK_48M_RESET_MODE0_174763US 0x06
|
||||
#define WDT_CLK_48M_RESET_MODE0_349525US 0x07
|
||||
#define WDT_CLK_48M_RESET_MODE0_699051US 0x08
|
||||
#define WDT_CLK_48M_RESET_MODE0_1398101US 0x09
|
||||
#define WDT_CLK_48M_RESET_MODE0_2796203US 0x0a
|
||||
#define WDT_CLK_48M_RESET_MODE0_5592405US 0x0b
|
||||
#define WDT_CLK_48M_RESET_MODE0_11184811US 0x0c
|
||||
#define WDT_CLK_48M_RESET_MODE0_22369621US 0x0d
|
||||
#define WDT_CLK_48M_RESET_MODE0_44739243US 0x0e
|
||||
#define WDT_CLK_48M_RESET_MODE0_89478485US 0x0f
|
||||
|
||||
#define WDT_CLK_64M_RESET_MDOE0_2048US 0x00
|
||||
#define WDT_CLK_64M_RESET_MDOE0_4096US 0x01
|
||||
#define WDT_CLK_64M_RESET_MDOE0_8192US 0x02
|
||||
#define WDT_CLK_64M_RESET_MDOE0_16384US 0x03
|
||||
#define WDT_CLK_64M_RESET_MDOE0_32768US 0x04
|
||||
#define WDT_CLK_64M_RESET_MDOE0_65536US 0x05
|
||||
#define WDT_CLK_64M_RESET_MDOE0_131072US 0x06
|
||||
#define WDT_CLK_64M_RESET_MDOE0_262144US 0x07
|
||||
#define WDT_CLK_64M_RESET_MDOE0_524288US 0x08
|
||||
#define WDT_CLK_64M_RESET_MDOE0_1048576US 0x09
|
||||
#define WDT_CLK_64M_RESET_MDOE0_2097152US 0x0a
|
||||
#define WDT_CLK_64M_RESET_MDOE0_4194304US 0x0b
|
||||
#define WDT_CLK_64M_RESET_MDOE0_8388608US 0x0c
|
||||
#define WDT_CLK_64M_RESET_MDOE0_16777216US 0x0d
|
||||
#define WDT_CLK_64M_RESET_MDOE0_33554432US 0x0e
|
||||
#define WDT_CLK_64M_RESET_MDOE0_67108864US 0x0f
|
||||
|
||||
|
||||
|
||||
#define WDT_CLK_32K_RESET_MODE1_4096MS 0x00
|
||||
#define WDT_CLK_32K_RESET_MODE1_8192MS 0x01
|
||||
#define WDT_CLK_32K_RESET_MODE1_16384MS 0x02
|
||||
#define WDT_CLK_32K_RESET_MODE1_32768MS 0x03
|
||||
#define WDT_CLK_32K_RESET_MODE1_65536MS 0x04
|
||||
#define WDT_CLK_32K_RESET_MODE1_131072MS 0x05
|
||||
#define WDT_CLK_32K_RESET_MODE1_262144MS 0x06
|
||||
#define WDT_CLK_32K_RESET_MODE1_524288MS 0x07
|
||||
#define WDT_CLK_32K_RESET_MODE1_1048576MS 0x08
|
||||
#define WDT_CLK_32K_RESET_MODE1_2097152MS 0x09
|
||||
#define WDT_CLK_32K_RESET_MODE1_4194304MS 0x0a
|
||||
#define WDT_CLK_32K_RESET_MODE1_8388608MS 0x0b
|
||||
#define WDT_CLK_32K_RESET_MODE1_16777216MS 0x0c
|
||||
#define WDT_CLK_32K_RESET_MODE1_33554432MS 0x0d
|
||||
#define WDT_CLK_32K_RESET_MODE1_67108864MS 0x0e
|
||||
#define WDT_CLK_32K_RESET_MODE1_134217728MS 0x0f
|
||||
|
||||
#define WDT_CLK_16M_RESET_MODE1_16384US 0x00
|
||||
#define WDT_CLK_16M_RESET_MODE1_32768US 0x01
|
||||
#define WDT_CLK_16M_RESET_MODE1_65536US 0x02
|
||||
#define WDT_CLK_16M_RESET_MODE1_131072US 0x03
|
||||
#define WDT_CLK_16M_RESET_MODE1_262144US 0x04
|
||||
#define WDT_CLK_16M_RESET_MODE1_524288US 0x05
|
||||
#define WDT_CLK_16M_RESET_MODE1_1048576US 0x06
|
||||
#define WDT_CLK_16M_RESET_MODE1_2097152US 0x07
|
||||
#define WDT_CLK_16M_RESET_MODE1_4194304US 0x08
|
||||
#define WDT_CLK_16M_RESET_MODE1_8388608US 0x09
|
||||
#define WDT_CLK_16M_RESET_MODE1_16777216US 0x0a
|
||||
#define WDT_CLK_16M_RESET_MODE1_33554432US 0x0b
|
||||
#define WDT_CLK_16M_RESET_MODE1_67108864US 0x0c
|
||||
#define WDT_CLK_16M_RESET_MODE1_134217728US 0x0d
|
||||
#define WDT_CLK_16M_RESET_MODE1_268435456US 0x0e
|
||||
#define WDT_CLK_16M_RESET_MODE1_536870912US 0x0f
|
||||
|
||||
#define WDT_CLK_32M_RESET_MODE1_8192US 0x00
|
||||
#define WDT_CLK_32M_RESET_MODE1_16384US 0x01
|
||||
#define WDT_CLK_32M_RESET_MODE1_32768US 0x02
|
||||
#define WDT_CLK_32M_RESET_MODE1_65536US 0x03
|
||||
#define WDT_CLK_32M_RESET_MODE1_131072US 0x04
|
||||
#define WDT_CLK_32M_RESET_MODE1_262144US 0x05
|
||||
#define WDT_CLK_32M_RESET_MODE1_524288US 0x06
|
||||
#define WDT_CLK_32M_RESET_MODE1_1048576US 0x07
|
||||
#define WDT_CLK_32M_RESET_MODE1_2097152US 0x08
|
||||
#define WDT_CLK_32M_RESET_MODE1_4194304US 0x09
|
||||
#define WDT_CLK_32M_RESET_MODE1_8388608US 0x0a
|
||||
#define WDT_CLK_32M_RESET_MODE1_16777216US 0x0b
|
||||
#define WDT_CLK_32M_RESET_MODE1_33554432US 0x0c
|
||||
#define WDT_CLK_32M_RESET_MODE1_67108864US 0x0d
|
||||
#define WDT_CLK_32M_RESET_MODE1_134217728US 0x0e
|
||||
#define WDT_CLK_32M_RESET_MODE1_268435456US 0x0f
|
||||
|
||||
#define WDT_CLK_48M_RESET_MODE1_5461US 0x00
|
||||
#define WDT_CLK_48M_RESET_MODE1_10923US 0x01
|
||||
#define WDT_CLK_48M_RESET_MODE1_21845US 0x02
|
||||
#define WDT_CLK_48M_RESET_MODE1_43691US 0x03
|
||||
#define WDT_CLK_48M_RESET_MODE1_87381US 0x04
|
||||
#define WDT_CLK_48M_RESET_MODE1_174763US 0x05
|
||||
#define WDT_CLK_48M_RESET_MODE1_349525US 0x06
|
||||
#define WDT_CLK_48M_RESET_MODE1_699051US 0x07
|
||||
#define WDT_CLK_48M_RESET_MODE1_1398101US 0x08
|
||||
#define WDT_CLK_48M_RESET_MODE1_2796203US 0x09
|
||||
#define WDT_CLK_48M_RESET_MODE1_5592405US 0x0a
|
||||
#define WDT_CLK_48M_RESET_MODE1_11184811US 0x0b
|
||||
#define WDT_CLK_48M_RESET_MODE1_22369621US 0x0c
|
||||
#define WDT_CLK_48M_RESET_MODE1_44739243US 0x0d
|
||||
#define WDT_CLK_48M_RESET_MODE1_89478485US 0x0e
|
||||
#define WDT_CLK_48M_RESET_MODE1_178956971US 0x0f
|
||||
|
||||
#define WDT_CLK_64M_RESET_MODE1_4096US 0x00
|
||||
#define WDT_CLK_64M_RESET_MODE1_8192US 0x01
|
||||
#define WDT_CLK_64M_RESET_MODE1_16384US 0x02
|
||||
#define WDT_CLK_64M_RESET_MODE1_32768US 0x03
|
||||
#define WDT_CLK_64M_RESET_MODE1_65536US 0x04
|
||||
#define WDT_CLK_64M_RESET_MODE1_131072US 0x05
|
||||
#define WDT_CLK_64M_RESET_MODE1_262144US 0x06
|
||||
#define WDT_CLK_64M_RESET_MODE1_524288US 0x07
|
||||
#define WDT_CLK_64M_RESET_MODE1_1048576US 0x08
|
||||
#define WDT_CLK_64M_RESET_MODE1_2097152US 0x09
|
||||
#define WDT_CLK_64M_RESET_MODE1_4194304US 0x0a
|
||||
#define WDT_CLK_64M_RESET_MODE1_8388608US 0x0b
|
||||
#define WDT_CLK_64M_RESET_MODE1_16777216US 0x0c
|
||||
#define WDT_CLK_64M_RESET_MODE1_33554432US 0x0d
|
||||
#define WDT_CLK_64M_RESET_MODE1_67108864US 0x0e
|
||||
#define WDT_CLK_64M_RESET_MODE1_134217728US 0x0f
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------------------
|
||||
TypeDef
|
||||
-------------------------------------------------------------------------------------*/
|
||||
|
||||
typedef enum
|
||||
{
|
||||
WDT_WORK_MODE0,
|
||||
WDT_WORK_MODE1
|
||||
} WDT_WorkModeTypeDef;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
WDT_WORK_32M,
|
||||
WDT_WORK_32K,
|
||||
} WDT_WorkSrcTypeDef;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t ReloadValue;
|
||||
WDT_WorkModeTypeDef WorkMode;
|
||||
WDT_WorkSrcTypeDef PclkSel;
|
||||
} WDT_InitCfg_t;
|
||||
|
||||
/*------------------------------------------------------------------------------------
|
||||
Inline Functions
|
||||
-------------------------------------------------------------------------------------*/
|
||||
|
||||
/*------------------------------------------------------------------------------------
|
||||
Exported Functions
|
||||
-------------------------------------------------------------------------------------*/
|
||||
|
||||
void xc_wdt_init(WDT_InitCfg_t *WDT_InitStruct);
|
||||
void xc_wdt_start(void);
|
||||
void xc_wdt_stop(void);
|
||||
void xc_wdt_refresh(void);
|
||||
void xc_wdt_reload(void);
|
||||
|
||||
#endif /* __XC6xxx_HAL_WDT_H_ */
|
||||
Reference in New Issue
Block a user