123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- /**
- ******************************************************************************
- * @file tae32f53xx_ll_wwdg.h
- * @author MCD Application Team
- * @brief Header file of WWDG LL module.
- *
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2020 Tai-Action.
- * All rights reserved.</center></h2>
- *
- * This software is licensed by Tai-Action under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef _TAE32F53XX_LL_WWDG_H_
- #define _TAE32F53XX_LL_WWDG_H_
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- /* Includes ------------------------------------------------------------------*/
- #include "tae32f53xx_ll_def.h"
- /** @addtogroup TAE32F53xx_LL_Driver
- * @{
- */
- /** @addtogroup WWDG_LL
- * @{
- */
- /* Exported types ------------------------------------------------------------*/
- /** @defgroup WWDG_LL_Exported_Types WWDG LL Exported Types
- * @brief WWDG LL Exported Types
- * @{
- */
- /**
- @brief WWDG Early Wakeup Interrupt Mode
- */
- typedef enum {
- WWDG_EWI_DISABLE = 0x00000000U, /*!< Rsest */
- WWDG_EWI_ENABLE = WWDG_CR_EWIE, /*!< Early Wakeup Interrupt */
- } WWDG_EWIETypeDef;
- /**
- * @brief WWDG Init structure definition
- */
- typedef struct __WWDG_InitTypeDef {
- uint32_t Prescaler; /*!< Specifies the prescaler value of the WWDG.
- This parameter must be a number Min_Data = 0x00 and Max_Data = 0xFFFF */
- uint32_t Window; /*!< Specifies the WWDG window value to be compared to the downcounter.
- This parameter must be a number Min_Data = 0x40 and Max_Data = 0xFFFF */
- uint32_t Counter; /*!< Specifies the WWDG free-running downcounter value.
- This parameter must be a number between Min_Data = 0x40 and Max_Data = 0xFFFF */
- WWDG_EWIETypeDef EWIMode; /*!< Specifies if WWDG Early Wakeup Interupt is enable or not. */
- } WWDG_InitTypeDef;
- /**
- * @}
- */
- /* Exported constants --------------------------------------------------------*/
- /** @defgroup WWDG_LL_Exported_Constants WWDG LL Exported Constants
- * @brief WWDG LL Exported Constants
- * @{
- */
- /** @defgroup WWDG_Interrupt_definition WWDG Interrupt definition
- * @{
- */
- #define WWDG_IT_EWIE WWDG_CR_EWIE /*!< Early wakeup interrupt */
- /**
- * @}
- */
- /** @defgroup WWDG_Flag_definition WWDG Flag definition
- * @brief WWDG Flag definition
- * @{
- */
- #define WWDG_FLAG_EWIF WWDG_ISR_EWIF /*!< Early wakeup interrupt flag */
- /**
- * @}
- */
- /**
- * @}
- */
- /* Exported macro ------------------------------------------------------------*/
- /** @defgroup WWDG_LL_Exported_Macros WWDG LL Exported Macros
- * @brief WWDG LL Exported Macros
- * @{
- */
- /**
- * @brief Enable the WWDG peripheral.
- * @param __INSTANCE__ WWDG peripheral
- * @retval None
- */
- #define __LL_WWDG_ENABLE(__INSTANCE__) SET_BIT((__INSTANCE__)->CR, WWDG_CR_WEN)
- /**
- * @brief Disable the WWDG peripheral.
- * @param __INSTANCE__ WWDG peripheral
- * @retval None
- */
- #define __LL_WWDG_DISABLE(__INSTANCE__) CLEAR_BIT((__INSTANCE__)->CR, WWDG_CR_WEN)
- /**
- * @brief Enable the specified WWDG interrupt.
- * @param __INSTANCE__ WWDG peripheral
- * @param __INTERRUPT__ specifies the interrupt to enable.
- * This parameter can be one of the following values:
- * @arg WWDG_IT_EWIE: Early wakeup interrupt
- * @retval None
- */
- #define __LL_WWDG_IT_ENABLE(__INSTANCE__, __INTERRUPT__) SET_BIT((__INSTANCE__)->CR, (__INTERRUPT__))
- /**
- * @brief Disable the specified WWDG interrupt.
- * @param __INSTANCE__ WWDG peripheral
- * @param __INTERRUPT__ specifies the interrupt to enable.
- * This parameter can be one of the following values:
- * @arg WWDG_IT_EWIE: Early wakeup interrupt
- * @retval None
- */
- #define __LL_WWDG_IT_DISABLE(__INSTANCE__, __INTERRUPT__) CLEAR_BIT((__INSTANCE__)->CR, (__INTERRUPT__))
- /**
- * @brief Check whether the specified WWDG flag is set or not.
- * @param __INSTANCE__ WWDG peripheral
- * @param __FLAG__ specifies the flag to check.
- * This parameter can be one of the following values:
- * @arg WWDG_FLAG_EWIF: Early wakeup interrupt flag
- * @retval The new state of WWDG_FLAG (SET or RESET).
- */
- #define __LL_WWDG_GET_FLAG(__INSTANCE__, __FLAG__) ((READ_BIT((__INSTANCE__)->ISR, (__FLAG__)) == (__FLAG__)) ? SET : RESET)
- /**
- * @brief Clears the WWDG's pending flags.
- * @param __INSTANCE__ WWDG peripheral
- * @param __FLAG__ specifies the flag to clear.
- * This parameter can be one of the following values:
- * @arg WWDG_FLAG_EWIF: Early wakeup interrupt flag
- * @retval None
- */
- #define __LL_WWDG_CLEAR_FLAG(__INSTANCE__, __FLAG__) WRITE_REG((__INSTANCE__)->ISR, (__FLAG__))
- /**
- * @brief Checks if the specified WWDG interrupt source is enabled or disabled.
- * @param __INSTANCE__ WWDG peripheral
- * @param __INTERRUPT__ specifies the WWDG interrupt source to check.
- * This parameter can be one of the following values:
- * @arg WWDG_IT_EWIE: Early Wakeup Interrupt
- * @retval state of __INTERRUPT__ (SET or RESET).
- */
- #define __LL_WWDG_CHECK_IT_SOURCE(__INSTANCE__, __INTERRUPT__) \
- ((READ_BIT((__INSTANCE__)->CR, (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
- /**
- * @brief Get the WWDG Counter Register value on runtime.
- * @param __INSTANCE__ WWDG peripheral
- * @retval 16-bit value of the WWDG counter register (WWDG_CVR)
- */
- #define __LL_WWDG_GET_COUNTER(__INSTANCE__) (READ_REG((__INSTANCE__)->CVR))
- /**
- * @brief Set the WWDG Counter Register value to refresh WWDG.
- * @param __INSTANCE__ WWDG peripheral
- * @param __COUNTER__ specifies WWDG counter value to refresh with
- * @retval None
- */
- #define __LL_WWDG_SET_COUNTER(__INSTANCE__, __COUNTER__) WRITE_REG((__INSTANCE__)->CVR, __COUNTER__)
- /**
- * @}
- */
- /* Exported functions --------------------------------------------------------*/
- /** @addtogroup WWDG_LL_Exported_Functions
- * @{
- */
- /** @addtogroup WWDG_LL_Exported_Functions_Group1
- * @{
- */
- LL_StatusETypeDef LL_WWDG_Init(WWDG_TypeDef *Instance, WWDG_InitTypeDef *Init);
- LL_StatusETypeDef LL_WWDG_DeInit(WWDG_TypeDef *Instance);
- void LL_WWDG_MspInit(WWDG_TypeDef *Instance);
- void LL_WWDG_MspDeInit(WWDG_TypeDef *Instance);
- /**
- * @}
- */
- /** @addtogroup WWDG_LL_Exported_Functions_Group2
- * @{
- */
- LL_StatusETypeDef LL_WWDG_Refresh(WWDG_TypeDef *Instance, uint16_t Counter);
- /**
- * @}
- */
- /** @addtogroup WWDG_LL_Exported_Functions_Interrupt
- * @{
- */
- void LL_WWDG_IRQHandler(WWDG_TypeDef *Instance);
- void LL_WWDG_EarlyWakeUpCallback(WWDG_TypeDef *Instance);
- /**
- * @}
- */
- /**
- * @}
- */
- /* Private types -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- /* Private constants ---------------------------------------------------------*/
- /* Private macros ------------------------------------------------------------*/
- /** @defgroup WWDG_LL_Private_Macros WWDG LL Private Macros
- * @brief WWDG LL Private Macros
- * @{
- */
- /**
- * @brief Judge is WWDG prescaler or not
- * @param __PRESCALER__ prescaler to judge
- * @retval 0 isn't WWDG prescaler
- * @retval 1 is WWDG prescaler
- */
- #define IS_WWDG_PRESCALER(__PRESCALER__) ((__PRESCALER__) <= 0xFFFFUL)
- /**
- * @brief Judge is WWDG window or not
- * @param __WINDOW__ window to judge
- * @retval 0 isn't WWDG window
- * @retval 1 is WWDG window
- */
- #define IS_WWDG_WINDOW(__WINDOW__) ((__WINDOW__) <= 0xFFFFUL)
- /**
- * @brief Judge is WWDG counter or not
- * @param __COUNTER__ counter to judge
- * @retval 0 isn't WWDG counter
- * @retval 1 is WWDG counter
- */
- #define IS_WWDG_COUNTER(__COUNTER__) ((__COUNTER__) <= 0xFFFFUL)
- /**
- * @}
- */
- /* Private functions ---------------------------------------------------------*/
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* _TAE32F53XX_LL_WWDG_H_ */
- /************************* (C) COPYRIGHT Tai-Action *****END OF FILE***********/
|