123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- ////////////////////////////////////////////////////////////////////////////////
- /// @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.
- ///
- /// <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2>
- ////////////////////////////////////////////////////////////////////////////////
- // 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
- ////////////////////////////////////////////////////////////////////////////////
|