lib_ana.h 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #include "target.h"
  20. /***** StatusMask (ANA_GetStatus) *****/
  21. #define ANA_STATUS_AVCCLV ANA_COMPOUT_AVCCLV
  22. #define ANA_STATUS_VDCINDROP ANA_COMPOUT_VDCINDROP
  23. #define ANA_STATUS_VDDALARM ANA_COMPOUT_VDDALARM
  24. #define ANA_STATUS_COMP2 ANA_COMPOUT_COMP2
  25. #define ANA_STATUS_COMP1 ANA_COMPOUT_COMP1
  26. #define ANA_STATUS_LOCKL ANA_COMPOUT_LOCKL
  27. #define ANA_STATUS_LOCKH ANA_COMPOUT_LOCKH
  28. /***** IntMask (ANA_GetINTStatus / ANA_ClearINTStatus / ANA_INTConfig) *****/
  29. #define ANA_INT_TADC_OVER ANA_INTSTS_INTSTS13
  30. #define ANA_INT_REGERR ANA_INTSTS_INTSTS12
  31. #define ANA_INT_SME ANA_INTSTS_INTSTS11
  32. #define ANA_INT_AVCCLV ANA_INTSTS_INTSTS10
  33. #define ANA_INT_VDCINDROP ANA_INTSTS_INTSTS8
  34. #define ANA_INT_VDDALARM ANA_INTSTS_INTSTS7
  35. #define ANA_INT_COMP2 ANA_INTSTS_INTSTS3
  36. #define ANA_INT_COMP1 ANA_INTSTS_INTSTS2
  37. #define ANA_INT_ADCA ANA_INTSTS_INTSTS1
  38. #define ANA_INT_ADCM ANA_INTSTS_INTSTS0
  39. #define ANA_INT_Msk (0x3DEFUL)
  40. /* Private macros ------------------------------------------------------------*/
  41. #define IS_ANA_STATUS(__STATUS__) (((__STATUS__) == ANA_STATUS_AVCCLV) ||\
  42. ((__STATUS__) == ANA_STATUS_VDCINDROP) ||\
  43. ((__STATUS__) == ANA_STATUS_VDDALARM) ||\
  44. ((__STATUS__) == ANA_STATUS_COMP2) ||\
  45. ((__STATUS__) == ANA_STATUS_COMP1) ||\
  46. ((__STATUS__) == ANA_STATUS_LOCKL) ||\
  47. ((__STATUS__) == ANA_STATUS_LOCKH))
  48. #define IS_ANA_INTSTSR(__INTSTSR__) (((__INTSTSR__) == ANA_INT_TADC_OVER) ||\
  49. ((__INTSTSR__) == ANA_INT_REGERR) ||\
  50. ((__INTSTSR__) == ANA_INT_SME) ||\
  51. ((__INTSTSR__) == ANA_INT_AVCCLV) ||\
  52. ((__INTSTSR__) == ANA_INT_VDCINDROP) ||\
  53. ((__INTSTSR__) == ANA_INT_VDDALARM) ||\
  54. ((__INTSTSR__) == ANA_INT_COMP2) ||\
  55. ((__INTSTSR__) == ANA_INT_COMP1) ||\
  56. ((__INTSTSR__) == ANA_INT_ADCA) ||\
  57. ((__INTSTSR__) == ANA_INT_ADCM))
  58. #define IS_ANA_INTSTSC(__INTSTSC__) ((((__INTSTSC__) & ANA_INT_Msk) != 0U) &&\
  59. (((__INTSTSC__) & ~ANA_INT_Msk) == 0U))
  60. #define IS_ANA_INT(__INT__) IS_ANA_INTSTSC(__INT__)
  61. /* Exported Functions ------------------------------------------------------- */
  62. uint8_t ANA_GetStatus(uint32_t StatusMask);
  63. uint8_t ANA_GetINTStatus(uint32_t IntMask);
  64. void ANA_ClearINTStatus(uint32_t IntMask);
  65. void ANA_INTConfig(uint32_t IntMask, uint32_t NewState);
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif /* __LIB_ANA_H */
  70. /*********************************** END OF FILE ******************************/