1 /** 2 ****************************************************************************** 3 * @file lib_ana.h 4 * @author Application Team 5 * @version V1.1.0 6 * @date 2019-10-28 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_CMPOUT_AVCCLV 25 #define ANA_STATUS_VDCINDROP ANA_CMPOUT_VDCINDROP 26 #define ANA_STATUS_VDDALARM ANA_CMPOUT_VDDALARM 27 #define ANA_STATUS_COMP2 ANA_CMPOUT_CMP2 28 #define ANA_STATUS_COMP1 ANA_CMPOUT_CMP1 29 #define ANA_STATUS_LOCKL ANA_CMPOUT_LOCKL 30 #define ANA_STATUS_LOCKH ANA_CMPOUT_LOCKH 31 32 /***** IntMask (ANA_GetINTStatus / ANA_ClearINTStatus / ANA_INTConfig) *****/ 33 #define ANA_INT_UPPER_TH3 ANA_INTEN_INTEN21 34 #define ANA_INT_LOWER_TH3 ANA_INTEN_INTEN20 35 #define ANA_INT_UPPER_TH2 ANA_INTEN_INTEN19 36 #define ANA_INT_LOWER_TH2 ANA_INTEN_INTEN18 37 #define ANA_INT_UPPER_TH1 ANA_INTEN_INTEN17 38 #define ANA_INT_LOWER_TH1 ANA_INTEN_INTEN16 39 #define ANA_INT_UPPER_TH0 ANA_INTEN_INTEN15 40 #define ANA_INT_LOWER_TH0 ANA_INTEN_INTEN14 41 #define ANA_INT_TADC_OVER ANA_INTEN_INTEN13 42 #define ANA_INT_REGERR ANA_INTEN_INTEN12 43 #define ANA_INT_SLPFAIL_VDCIN ANA_INTEN_INTEN11 44 #define ANA_INT_AVCCLV ANA_INTEN_INTEN10 45 #define ANA_INT_VDCINDROP ANA_INTEN_INTEN8 46 #define ANA_INT_VDDALARM ANA_INTEN_INTEN7 47 #define ANA_INT_COMP2 ANA_INTEN_INTEN3 48 #define ANA_INT_COMP1 ANA_INTEN_INTEN2 49 #define ANA_INT_ADCA ANA_INTEN_INTEN1 50 #define ANA_INT_ADCM ANA_INTEN_INTEN0 51 #define ANA_INT_Msk (ANA_INTSTS_INTSTS21 \ 52 |ANA_INTSTS_INTSTS20 \ 53 |ANA_INTSTS_INTSTS19 \ 54 |ANA_INTSTS_INTSTS18 \ 55 |ANA_INTSTS_INTSTS17 \ 56 |ANA_INTSTS_INTSTS16 \ 57 |ANA_INTSTS_INTSTS15 \ 58 |ANA_INTSTS_INTSTS14 \ 59 |ANA_INTSTS_INTSTS13 \ 60 |ANA_INTSTS_INTSTS12 \ 61 |ANA_INTSTS_INTSTS11 \ 62 |ANA_INTSTS_INTSTS10 \ 63 |ANA_INTSTS_INTSTS8 \ 64 |ANA_INTSTS_INTSTS7 \ 65 |ANA_INTSTS_INTSTS3 \ 66 |ANA_INTSTS_INTSTS2 \ 67 |ANA_INTSTS_INTSTS1 \ 68 |ANA_INTSTS_INTSTS0) 69 70 /****************************** ANA Instances *********************************/ 71 #define IS_ANA_ALL_INSTANCE(INSTANCE) ((INSTANCE) == ANA) 72 73 /* Private macros ------------------------------------------------------------*/ 74 #define IS_ANA_STATUS(__STATUS__) (((__STATUS__) == ANA_STATUS_AVCCLV) ||\ 75 ((__STATUS__) == ANA_STATUS_VDCINDROP) ||\ 76 ((__STATUS__) == ANA_STATUS_VDDALARM) ||\ 77 ((__STATUS__) == ANA_STATUS_COMP2) ||\ 78 ((__STATUS__) == ANA_STATUS_COMP1) ||\ 79 ((__STATUS__) == ANA_STATUS_LOCKL) ||\ 80 ((__STATUS__) == ANA_STATUS_LOCKH)) 81 82 #define IS_ANA_INTSTSR(__INTSTSR__) (((__INTSTSR__) == ANA_INT_UPPER_TH3) ||\ 83 ((__INTSTSR__) == ANA_INT_LOWER_TH3) ||\ 84 ((__INTSTSR__) == ANA_INT_UPPER_TH2) ||\ 85 ((__INTSTSR__) == ANA_INT_LOWER_TH2) ||\ 86 ((__INTSTSR__) == ANA_INT_UPPER_TH1) ||\ 87 ((__INTSTSR__) == ANA_INT_LOWER_TH1) ||\ 88 ((__INTSTSR__) == ANA_INT_UPPER_TH0) ||\ 89 ((__INTSTSR__) == ANA_INT_LOWER_TH0) ||\ 90 ((__INTSTSR__) == ANA_INT_TADC_OVER) ||\ 91 ((__INTSTSR__) == ANA_INT_REGERR) ||\ 92 ((__INTSTSR__) == ANA_INT_SLPFAIL_VDCIN) ||\ 93 ((__INTSTSR__) == ANA_INT_AVCCLV) ||\ 94 ((__INTSTSR__) == ANA_INT_VDCINDROP) ||\ 95 ((__INTSTSR__) == ANA_INT_VDDALARM) ||\ 96 ((__INTSTSR__) == ANA_INT_COMP2) ||\ 97 ((__INTSTSR__) == ANA_INT_COMP1) ||\ 98 ((__INTSTSR__) == ANA_INT_ADCA) ||\ 99 ((__INTSTSR__) == ANA_INT_ADCM)) 100 101 #define IS_ANA_INTSTSC(__INTSTSC__) ((((__INTSTSC__) & ANA_INT_Msk) != 0U) &&\ 102 (((__INTSTSC__) & ~ANA_INT_Msk) == 0U)) 103 104 #define IS_ANA_INT(__INT__) IS_ANA_INTSTSC(__INT__) 105 106 /* Exported Functions ------------------------------------------------------- */ 107 uint8_t ANA_GetStatus(uint32_t StatusMask); 108 uint8_t ANA_GetINTStatus(uint32_t IntMask); 109 void ANA_ClearINTStatus(uint32_t IntMask); 110 void ANA_INTConfig(uint32_t IntMask, uint32_t NewState); 111 112 #ifdef __cplusplus 113 } 114 #endif 115 116 #endif /* __LIB_ANA_H */ 117 118 /*********************************** END OF FILE ******************************/ 119