2 ******************************************************************************
\r
3 * @file stm32l1xx_iwdg.h
\r
4 * @author MCD Application Team
\r
6 * @date 31-December-2010
\r
7 * @brief This file contains all the functions prototypes for the IWDG
\r
9 ******************************************************************************
\r
12 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
\r
13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
\r
14 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
\r
15 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
\r
16 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
\r
17 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
\r
19 * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>
\r
20 ******************************************************************************
\r
23 /* Define to prevent recursive inclusion -------------------------------------*/
\r
24 #ifndef __STM32L1xx_IWDG_H
\r
25 #define __STM32L1xx_IWDG_H
\r
31 /* Includes ------------------------------------------------------------------*/
\r
32 #include "stm32l1xx.h"
\r
34 /** @addtogroup STM32L1xx_StdPeriph_Driver
\r
38 /** @addtogroup IWDG
\r
42 /* Exported types ------------------------------------------------------------*/
\r
43 /* Exported constants --------------------------------------------------------*/
\r
45 /** @defgroup IWDG_Exported_Constants
\r
49 /** @defgroup IWDG_WriteAccess
\r
53 #define IWDG_WriteAccess_Enable ((uint16_t)0x5555)
\r
54 #define IWDG_WriteAccess_Disable ((uint16_t)0x0000)
\r
55 #define IS_IWDG_WRITE_ACCESS(ACCESS) (((ACCESS) == IWDG_WriteAccess_Enable) || \
\r
56 ((ACCESS) == IWDG_WriteAccess_Disable))
\r
61 /** @defgroup IWDG_prescaler
\r
65 #define IWDG_Prescaler_4 ((uint8_t)0x00)
\r
66 #define IWDG_Prescaler_8 ((uint8_t)0x01)
\r
67 #define IWDG_Prescaler_16 ((uint8_t)0x02)
\r
68 #define IWDG_Prescaler_32 ((uint8_t)0x03)
\r
69 #define IWDG_Prescaler_64 ((uint8_t)0x04)
\r
70 #define IWDG_Prescaler_128 ((uint8_t)0x05)
\r
71 #define IWDG_Prescaler_256 ((uint8_t)0x06)
\r
72 #define IS_IWDG_PRESCALER(PRESCALER) (((PRESCALER) == IWDG_Prescaler_4) || \
\r
73 ((PRESCALER) == IWDG_Prescaler_8) || \
\r
74 ((PRESCALER) == IWDG_Prescaler_16) || \
\r
75 ((PRESCALER) == IWDG_Prescaler_32) || \
\r
76 ((PRESCALER) == IWDG_Prescaler_64) || \
\r
77 ((PRESCALER) == IWDG_Prescaler_128)|| \
\r
78 ((PRESCALER) == IWDG_Prescaler_256))
\r
83 /** @defgroup IWDG_Flag
\r
87 #define IWDG_FLAG_PVU ((uint16_t)0x0001)
\r
88 #define IWDG_FLAG_RVU ((uint16_t)0x0002)
\r
89 #define IS_IWDG_FLAG(FLAG) (((FLAG) == IWDG_FLAG_PVU) || ((FLAG) == IWDG_FLAG_RVU))
\r
90 #define IS_IWDG_RELOAD(RELOAD) ((RELOAD) <= 0xFFF)
\r
99 /* Exported macro ------------------------------------------------------------*/
\r
100 /* Exported functions ------------------------------------------------------- */
\r
102 /* Prescaler and Counter configuration functions ******************************/
\r
103 void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);
\r
104 void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);
\r
105 void IWDG_SetReload(uint16_t Reload);
\r
106 void IWDG_ReloadCounter(void);
\r
108 /* IWDG activation function ***************************************************/
\r
109 void IWDG_Enable(void);
\r
111 /* Flag management function ***************************************************/
\r
112 FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG);
\r
118 #endif /* __STM32L1xx_IWDG_H */
\r
128 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
\r