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