1 /** 2 ****************************************************************************** 3 * @file HAL_iwdg.h 4 * @author AE Team 5 * @version V1.0.0 6 * @date 28/7/2017 7 * @brief This file contains all the functions prototypes for the IWDG 8 * firmware library. 9 ****************************************************************************** 10 * @copy 11 * 12 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 * TIME. AS A RESULT, MindMotion SHALL NOT BE HELD LIABLE FOR ANY 15 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 * 19 * <h2><center>© COPYRIGHT 2017 MindMotion</center></h2> 20 */ 21 22 /* Define to prevent recursive inclusion -------------------------------------*/ 23 #ifndef __HAL_IWDG_H 24 #define __HAL_IWDG_H 25 26 /* Includes ------------------------------------------------------------------*/ 27 #include "HAL_device.h" 28 29 /** @addtogroup StdPeriph_Driver 30 * @{ 31 */ 32 33 /** @addtogroup IWDG 34 * @{ 35 */ 36 37 /** @defgroup IWDG_Exported_Types 38 * @{ 39 */ 40 41 /** 42 * @} 43 */ 44 45 /** @defgroup IWDG_Exported_Constants 46 * @{ 47 */ 48 49 /** @defgroup Write_access_to_IWDG_PR_and_IWDG_RLR_registers 50 * @{ 51 */ 52 53 #define IWDG_WriteAccess_Enable ((uint16_t)0x5555) 54 #define IWDG_WriteAccess_Disable ((uint16_t)0x0000) 55 #define IS_IWDG_WRITE_ACCESS(ACCESS) (((ACCESS) == IWDG_WriteAccess_Enable) || \ 56 ((ACCESS) == IWDG_WriteAccess_Disable)) 57 /** 58 * @} 59 */ 60 61 /** @defgroup IWDG_prescaler 62 * @{ 63 */ 64 65 #define IWDG_Prescaler_4 ((uint8_t)0x00) 66 #define IWDG_Prescaler_8 ((uint8_t)0x01) 67 #define IWDG_Prescaler_16 ((uint8_t)0x02) 68 #define IWDG_Prescaler_32 ((uint8_t)0x03) 69 #define IWDG_Prescaler_64 ((uint8_t)0x04) 70 #define IWDG_Prescaler_128 ((uint8_t)0x05) 71 #define IWDG_Prescaler_256 ((uint8_t)0x06) 72 #define IS_IWDG_PRESCALER(PRESCALER) (((PRESCALER) == IWDG_Prescaler_4) || \ 73 ((PRESCALER) == IWDG_Prescaler_8) || \ 74 ((PRESCALER) == IWDG_Prescaler_16) || \ 75 ((PRESCALER) == IWDG_Prescaler_32) || \ 76 ((PRESCALER) == IWDG_Prescaler_64) || \ 77 ((PRESCALER) == IWDG_Prescaler_128)|| \ 78 ((PRESCALER) == IWDG_Prescaler_256)) 79 /** 80 * @} 81 */ 82 83 /** @defgroup IWDG_Flag 84 * @{ 85 */ 86 87 #define IWDG_FLAG_PVU ((uint16_t)0x0001) 88 #define IWDG_FLAG_RVU ((uint16_t)0x0002) 89 #define IS_IWDG_FLAG(FLAG) (((FLAG) == IWDG_FLAG_PVU) || ((FLAG) == IWDG_FLAG_RVU)) 90 #define IS_IWDG_RELOAD(RELOAD) ((RELOAD) <= 0xFFF) 91 /** 92 * @} 93 */ 94 95 /** 96 * @} 97 */ 98 99 /** @defgroup IWDG_Exported_Macros 100 * @{ 101 */ 102 103 /** 104 * @} 105 */ 106 107 /** @defgroup IWDG_Exported_Functions 108 * @{ 109 */ 110 111 void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess); 112 void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); 113 void IWDG_SetReload(uint16_t Reload); 114 void IWDG_ReloadCounter(void); 115 void IWDG_Enable(void); 116 FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG); 117 118 #endif /* __HAL_IWDG_H */ 119 /** 120 * @} 121 */ 122 123 /** 124 * @} 125 */ 126 127 /** 128 * @} 129 */ 130 131 /*-------------------------(C) COPYRIGHT 2017 MindMotion ----------------------*/ 132