132 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			132 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  ******************************************************************************
							 | 
						||
| 
								 | 
							
								  * @file    stm32f4xx_iwdg.h
							 | 
						||
| 
								 | 
							
								  * @author  MCD Application Team
							 | 
						||
| 
								 | 
							
								  * @version V1.8.0
							 | 
						||
| 
								 | 
							
								  * @date    04-November-2016
							 | 
						||
| 
								 | 
							
								  * @brief   This file contains all the functions prototypes for the IWDG 
							 | 
						||
| 
								 | 
							
								  *          firmware library.
							 | 
						||
| 
								 | 
							
								  ******************************************************************************
							 | 
						||
| 
								 | 
							
								  * @attention
							 | 
						||
| 
								 | 
							
								  *
							 | 
						||
| 
								 | 
							
								  * <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2>
							 | 
						||
| 
								 | 
							
								  *
							 | 
						||
| 
								 | 
							
								  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
							 | 
						||
| 
								 | 
							
								  * You may not use this file except in compliance with the License.
							 | 
						||
| 
								 | 
							
								  * You may obtain a copy of the License at:
							 | 
						||
| 
								 | 
							
								  *
							 | 
						||
| 
								 | 
							
								  *        http://www.st.com/software_license_agreement_liberty_v2
							 | 
						||
| 
								 | 
							
								  *
							 | 
						||
| 
								 | 
							
								  * Unless required by applicable law or agreed to in writing, software 
							 | 
						||
| 
								 | 
							
								  * distributed under the License is distributed on an "AS IS" BASIS, 
							 | 
						||
| 
								 | 
							
								  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
							 | 
						||
| 
								 | 
							
								  * See the License for the specific language governing permissions and
							 | 
						||
| 
								 | 
							
								  * limitations under the License.
							 | 
						||
| 
								 | 
							
								  *
							 | 
						||
| 
								 | 
							
								  ******************************************************************************
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Define to prevent recursive inclusion -------------------------------------*/
							 | 
						||
| 
								 | 
							
								#ifndef __STM32F4xx_IWDG_H
							 | 
						||
| 
								 | 
							
								#define __STM32F4xx_IWDG_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								 extern "C" {
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Includes ------------------------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								#include "stm32f4xx.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @addtogroup STM32F4xx_StdPeriph_Driver
							 | 
						||
| 
								 | 
							
								  * @{
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @addtogroup IWDG
							 | 
						||
| 
								 | 
							
								  * @{
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Exported types ------------------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								/* Exported constants --------------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @defgroup IWDG_Exported_Constants
							 | 
						||
| 
								 | 
							
								  * @{
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								/** @defgroup IWDG_WriteAccess
							 | 
						||
| 
								 | 
							
								  * @{
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								#define IWDG_WriteAccess_Enable     ((uint16_t)0x5555)
							 | 
						||
| 
								 | 
							
								#define IWDG_WriteAccess_Disable    ((uint16_t)0x0000)
							 | 
						||
| 
								 | 
							
								#define IS_IWDG_WRITE_ACCESS(ACCESS) (((ACCESS) == IWDG_WriteAccess_Enable) || \
							 | 
						||
| 
								 | 
							
								                                      ((ACCESS) == IWDG_WriteAccess_Disable))
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  * @}
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @defgroup IWDG_prescaler 
							 | 
						||
| 
								 | 
							
								  * @{
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								#define IWDG_Prescaler_4            ((uint8_t)0x00)
							 | 
						||
| 
								 | 
							
								#define IWDG_Prescaler_8            ((uint8_t)0x01)
							 | 
						||
| 
								 | 
							
								#define IWDG_Prescaler_16           ((uint8_t)0x02)
							 | 
						||
| 
								 | 
							
								#define IWDG_Prescaler_32           ((uint8_t)0x03)
							 | 
						||
| 
								 | 
							
								#define IWDG_Prescaler_64           ((uint8_t)0x04)
							 | 
						||
| 
								 | 
							
								#define IWDG_Prescaler_128          ((uint8_t)0x05)
							 | 
						||
| 
								 | 
							
								#define IWDG_Prescaler_256          ((uint8_t)0x06)
							 | 
						||
| 
								 | 
							
								#define IS_IWDG_PRESCALER(PRESCALER) (((PRESCALER) == IWDG_Prescaler_4)  || \
							 | 
						||
| 
								 | 
							
								                                      ((PRESCALER) == IWDG_Prescaler_8)  || \
							 | 
						||
| 
								 | 
							
								                                      ((PRESCALER) == IWDG_Prescaler_16) || \
							 | 
						||
| 
								 | 
							
								                                      ((PRESCALER) == IWDG_Prescaler_32) || \
							 | 
						||
| 
								 | 
							
								                                      ((PRESCALER) == IWDG_Prescaler_64) || \
							 | 
						||
| 
								 | 
							
								                                      ((PRESCALER) == IWDG_Prescaler_128)|| \
							 | 
						||
| 
								 | 
							
								                                      ((PRESCALER) == IWDG_Prescaler_256))
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  * @}
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @defgroup IWDG_Flag 
							 | 
						||
| 
								 | 
							
								  * @{
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								#define IWDG_FLAG_PVU               ((uint16_t)0x0001)
							 | 
						||
| 
								 | 
							
								#define IWDG_FLAG_RVU               ((uint16_t)0x0002)
							 | 
						||
| 
								 | 
							
								#define IS_IWDG_FLAG(FLAG) (((FLAG) == IWDG_FLAG_PVU) || ((FLAG) == IWDG_FLAG_RVU))
							 | 
						||
| 
								 | 
							
								#define IS_IWDG_RELOAD(RELOAD) ((RELOAD) <= 0xFFF)
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  * @}
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  * @}
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Exported macro ------------------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								/* Exported functions --------------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Prescaler and Counter configuration functions ******************************/
							 | 
						||
| 
								 | 
							
								void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);
							 | 
						||
| 
								 | 
							
								void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);
							 | 
						||
| 
								 | 
							
								void IWDG_SetReload(uint16_t Reload);
							 | 
						||
| 
								 | 
							
								void IWDG_ReloadCounter(void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* IWDG activation function ***************************************************/
							 | 
						||
| 
								 | 
							
								void IWDG_Enable(void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Flag management function ***************************************************/
							 | 
						||
| 
								 | 
							
								FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __STM32F4xx_IWDG_H */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  * @}
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								  * @}
							 | 
						||
| 
								 | 
							
								  */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
							 |