44#ifndef G32R4xx_DDL_IWDT_H
45#define G32R4xx_DDL_IWDT_H
71#define DDL_IWDT_KEY_RELOAD 0x0000AAAAU
72#define DDL_IWDT_KEY_ENABLE 0x0000CCCCU
73#define DDL_IWDT_KEY_WR_ACCESS_ENABLE 0x00005555U
74#define DDL_IWDT_KEY_WR_ACCESS_DISABLE 0x00000000U
91#define DDL_IWDT_STS_PSCUFLG IWDT_STS_PSCUFLG
92#define DDL_IWDT_STS_CNTUFLG IWDT_STS_CNTUFLG
100#define DDL_IWDT_PSC_4 0x00000000U
101#define DDL_IWDT_PSC_8 (IWDT_PSC_PSC_0)
102#define DDL_IWDT_PSC_16 (IWDT_PSC_PSC_1)
103#define DDL_IWDT_PSC_32 (IWDT_PSC_PSC_1 | IWDT_PSC_PSC_0)
104#define DDL_IWDT_PSC_64 (IWDT_PSC_PSC_2)
105#define DDL_IWDT_PSC_128 (IWDT_PSC_PSC_2 | IWDT_PSC_PSC_0)
106#define DDL_IWDT_PSC_256 (IWDT_PSC_PSC_2 | IWDT_PSC_PSC_1)
131#define DDL_IWDT_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
139#define DDL_IWDT_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
212 WRITE_REG(IWDTx->PSC, IWDT_PSC_PSC & Prescaler);
229 return (READ_REG(IWDTx->PSC));
240 WRITE_REG(IWDTx->CNTRLD, IWDT_CNTRLD_CNTRLD & Counter);
250 return (READ_REG(IWDTx->CNTRLD));
268 return ((READ_BIT(IWDTx->STS, IWDT_STS_PSCUFLG) == (IWDT_STS_PSCUFLG)) ? 1UL : 0UL);
278 return ((READ_BIT(IWDTx->STS, IWDT_STS_CNTUFLG) == (IWDT_STS_CNTUFLG)) ? 1UL : 0UL);
288 return ((READ_BIT(IWDTx->STS, IWDT_STS_PSCUFLG | IWDT_STS_CNTUFLG) == 0U) ? 1UL : 0UL);
__STATIC_INLINE void DDL_IWDT_Enable(IWDT_TypeDef *IWDTx)
Start the Independent Watchdog.
__STATIC_INLINE void DDL_IWDT_SetReloadCounter(IWDT_TypeDef *IWDTx, uint32_t Counter)
Specify the IWDT down-counter reload value.
__STATIC_INLINE void DDL_IWDT_DisableWriteAccess(IWDT_TypeDef *IWDTx)
Disable write access to IWDT_PR, IWDT_RLR and IWDT_WINR registers.
__STATIC_INLINE uint32_t DDL_IWDT_GetPrescaler(IWDT_TypeDef *IWDTx)
Get the selected prescaler of the IWDT.
__STATIC_INLINE void DDL_IWDT_ReloadCounter(IWDT_TypeDef *IWDTx)
Reloads IWDT counter with value defined in the reload register.
__STATIC_INLINE void DDL_IWDT_EnableWriteAccess(IWDT_TypeDef *IWDTx)
Enable write access to IWDT_PR, IWDT_RLR and IWDT_WINR registers.
__STATIC_INLINE uint32_t DDL_IWDT_GetReloadCounter(IWDT_TypeDef *IWDTx)
Get the specified IWDT down-counter reload value.
__STATIC_INLINE void DDL_IWDT_SetPrescaler(IWDT_TypeDef *IWDTx, uint32_t Prescaler)
Select the prescaler of the IWDT.
__STATIC_INLINE uint32_t DDL_IWDT_IsActiveFlag_RVU(IWDT_TypeDef *IWDTx)
Check if flag Reload Value Update is set or not.
__STATIC_INLINE uint32_t DDL_IWDT_IsActiveFlag_PVU(IWDT_TypeDef *IWDTx)
Check if flag Prescaler Value Update is set or not.
__STATIC_INLINE uint32_t DDL_IWDT_IsReady(IWDT_TypeDef *IWDTx)
Check if flags Prescaler & Reload Value Update are reset or not.
#define DDL_IWDT_KEY_WR_ACCESS_ENABLE
#define DDL_IWDT_KEY_ENABLE
#define DDL_IWDT_KEY_WR_ACCESS_DISABLE
#define DDL_IWDT_KEY_RELOAD