1 /** 2 ****************************************************************************** 3 * @file lib_ana.h 4 * @author Application Team 5 * @version V4.4.0 6 * @date 2018-09-27 7 * @brief Analog library. 8 ****************************************************************************** 9 * @attention 10 * 11 * 12 ****************************************************************************** 13 */ 14 #ifndef __LIB_ANA_H 15 #define __LIB_ANA_H 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 #include "target.h" 22 23 /***** StatusMask (ANA_GetStatus) *****/ 24 #define ANA_STATUS_AVCCLV ANA_COMPOUT_AVCCLV 25 #define ANA_STATUS_VDCINDROP ANA_COMPOUT_VDCINDROP 26 #define ANA_STATUS_VDDALARM ANA_COMPOUT_VDDALARM 27 #define ANA_STATUS_COMP2 ANA_COMPOUT_COMP2 28 #define ANA_STATUS_COMP1 ANA_COMPOUT_COMP1 29 #define ANA_STATUS_LOCKL ANA_COMPOUT_LOCKL 30 #define ANA_STATUS_LOCKH ANA_COMPOUT_LOCKH 31 32 /***** IntMask (ANA_GetINTStatus / ANA_ClearINTStatus / ANA_INTConfig) *****/ 33 #define ANA_INT_TADC_OVER ANA_INTSTS_INTSTS13 34 #define ANA_INT_REGERR ANA_INTSTS_INTSTS12 35 #define ANA_INT_SME ANA_INTSTS_INTSTS11 36 #define ANA_INT_AVCCLV ANA_INTSTS_INTSTS10 37 #define ANA_INT_VDCINDROP ANA_INTSTS_INTSTS8 38 #define ANA_INT_VDDALARM ANA_INTSTS_INTSTS7 39 #define ANA_INT_COMP2 ANA_INTSTS_INTSTS3 40 #define ANA_INT_COMP1 ANA_INTSTS_INTSTS2 41 #define ANA_INT_ADCA ANA_INTSTS_INTSTS1 42 #define ANA_INT_ADCM ANA_INTSTS_INTSTS0 43 #define ANA_INT_Msk (0x3DEFUL) 44 45 /* Private macros ------------------------------------------------------------*/ 46 #define IS_ANA_STATUS(__STATUS__) (((__STATUS__) == ANA_STATUS_AVCCLV) ||\ 47 ((__STATUS__) == ANA_STATUS_VDCINDROP) ||\ 48 ((__STATUS__) == ANA_STATUS_VDDALARM) ||\ 49 ((__STATUS__) == ANA_STATUS_COMP2) ||\ 50 ((__STATUS__) == ANA_STATUS_COMP1) ||\ 51 ((__STATUS__) == ANA_STATUS_LOCKL) ||\ 52 ((__STATUS__) == ANA_STATUS_LOCKH)) 53 54 #define IS_ANA_INTSTSR(__INTSTSR__) (((__INTSTSR__) == ANA_INT_TADC_OVER) ||\ 55 ((__INTSTSR__) == ANA_INT_REGERR) ||\ 56 ((__INTSTSR__) == ANA_INT_SME) ||\ 57 ((__INTSTSR__) == ANA_INT_AVCCLV) ||\ 58 ((__INTSTSR__) == ANA_INT_VDCINDROP) ||\ 59 ((__INTSTSR__) == ANA_INT_VDDALARM) ||\ 60 ((__INTSTSR__) == ANA_INT_COMP2) ||\ 61 ((__INTSTSR__) == ANA_INT_COMP1) ||\ 62 ((__INTSTSR__) == ANA_INT_ADCA) ||\ 63 ((__INTSTSR__) == ANA_INT_ADCM)) 64 65 #define IS_ANA_INTSTSC(__INTSTSC__) ((((__INTSTSC__) & ANA_INT_Msk) != 0U) &&\ 66 (((__INTSTSC__) & ~ANA_INT_Msk) == 0U)) 67 68 #define IS_ANA_INT(__INT__) IS_ANA_INTSTSC(__INT__) 69 70 /* Exported Functions ------------------------------------------------------- */ 71 uint8_t ANA_GetStatus(uint32_t StatusMask); 72 uint8_t ANA_GetINTStatus(uint32_t IntMask); 73 void ANA_ClearINTStatus(uint32_t IntMask); 74 void ANA_INTConfig(uint32_t IntMask, uint32_t NewState); 75 76 #ifdef __cplusplus 77 } 78 #endif 79 80 #endif /* __LIB_ANA_H */ 81 82 /*********************************** END OF FILE ******************************/ 83