//////////////////////////////////////////////////////////////////////////////// /// @file hal_bkp.h /// @author AE TEAM /// @brief THIS FILE CONTAINS ALL THE FUNCTIONS PROTOTYPES FOR THE BKP /// FIRMWARE LIBRARY. //////////////////////////////////////////////////////////////////////////////// /// @attention /// /// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE /// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE /// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR /// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH /// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN /// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS. /// ///

© COPYRIGHT MINDMOTION

//////////////////////////////////////////////////////////////////////////////// // Define to prevent recursive inclusion #ifndef __HAL_BKP_H #define __HAL_BKP_H // Files includes #include "types.h" #include "reg_bkp.h" //////////////////////////////////////////////////////////////////////////////// /// @addtogroup MM32_Hardware_Abstract_Layer /// @{ //////////////////////////////////////////////////////////////////////////////// /// @defgroup BKP_HAL /// @brief BKP HAL modules /// @{ //////////////////////////////////////////////////////////////////////////////// /// @defgroup BKP_Exported_Types /// @{ //////////////////////////////////////////////////////////////////////////////// /// @brief Data_Backup_Register /// @anchor Data_Backup_Register typedef enum { BKP_DR1 = 0x0010, BKP_DR2 = 0x0014, BKP_DR3 = 0x0018, BKP_DR4 = 0x001C, BKP_DR5 = 0x0020, BKP_DR6 = 0x0024, BKP_DR7 = 0x0028, BKP_DR8 = 0x002C, BKP_DR9 = 0x0030, BKP_DR10 = 0x0034, BKP_DR11 = 0x0038, BKP_DR12 = 0x003C, BKP_DR13 = 0x0040, BKP_DR14 = 0x0044, BKP_DR15 = 0x0048, BKP_DR16 = 0x004C, BKP_DR17 = 0x0050, BKP_DR18 = 0x0054, BKP_DR19 = 0x0058, BKP_DR20 = 0x005C } BKPDR_Typedef; //////////////////////////////////////////////////////////////////////////////// /// @brief Tamper_Pin_active_level /// @anchor Tamper_Pin_active_level typedef enum { BKP_TamperPinLevel_High, ///< Tamper pin active on high level BKP_TamperPinLevel_Low = BKP_CR_TPAL, ///< Tamper pin active on low level } BKPTPAL_Typedef; //////////////////////////////////////////////////////////////////////////////// /// @brief RTC_output_source_to_output_on_the_Tamper_pin /// @anchor RTC_output_source_to_output_on_the_Tamper_pin typedef enum { BKP_RTCOutputSource_None = 0x0000, ///< No RTC output on the Tamper pin BKP_RTCOutputSource_CalibClock = 0x0080, ///< Output the RTC clock with frequency divided by 64 on the Tamper pin BKP_RTCOutputSource_Alarm = 0x0100, ///< Output the RTC Alarm pulse signal on the Tamper pin BKP_RTCOutputSource_Second = 0x0300 ///< Output the RTC Second pulse signal on the Tamper pin } BKPRTCOUTPUTSRC_Typedef; /// @} //////////////////////////////////////////////////////////////////////////////// /// @defgroup BKP_Exported_Variables /// @{ #ifdef _HAL_BKP_C_ #define GLOBAL #else #define GLOBAL extern #endif #undef GLOBAL /// @} //////////////////////////////////////////////////////////////////////////////// /// @defgroup BKP_Exported_Functions /// @{ void BKP_WriteBackupRegister(BKPDR_Typedef bkp_dr, u16 data); u16 BKP_ReadBackupRegister(BKPDR_Typedef bkp_dr); void BKP_DeInit(void); void BKP_ClearFlag(void); void BKP_ClearITPendingBit(void); void BKP_TamperPinLevelConfig(BKPTPAL_Typedef tamper_pin_level); void BKP_TamperPinCmd(FunctionalState state); void BKP_ITConfig(FunctionalState state); void BKP_RTCOutputConfig(BKPRTCOUTPUTSRC_Typedef rtc_output_source); void BKP_SetRTCCalibrationValue(u8 calibration_value); ITStatus BKP_GetITStatus(void); FlagStatus BKP_GetFlagStatus(void); void exBKP_Init(void); void exBKP_ImmWrite(BKPDR_Typedef bkp_dr, u16 data); u16 exBKP_ImmRead(BKPDR_Typedef bkp_dr); /// @} /// @} /// @} //////////////////////////////////////////////////////////////////////////////// #endif // __HAL_BKP_H ////////////////////////////////////////////////////////////////////////////////