lib_ana.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /**
  2. ******************************************************************************
  3. * @file lib_ana.c
  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. /* Includes ------------------------------------------------------------------*/
  15. #include "lib_ana.h"
  16. /**
  17. * @brief Get analog status.
  18. * @param StatusMask:
  19. ANA_STATUS_AVCCLV
  20. ANA_STATUS_VDCINDROP
  21. ANA_STATUS_VDDALARM
  22. ANA_STATUS_COMP2
  23. ANA_STATUS_COMP1
  24. ANA_STATUS_LOCKL
  25. ANA_STATUS_LOCKH
  26. * @retval Analog status
  27. */
  28. uint8_t ANA_GetStatus(uint32_t StatusMask)
  29. {
  30. /* Check parameters */
  31. assert_parameters(IS_ANA_STATUS(StatusMask));
  32. if (ANA->COMPOUT & StatusMask)
  33. {
  34. return 1;
  35. }
  36. else
  37. {
  38. return 0;
  39. }
  40. }
  41. /**
  42. * @brief Get interrupt status.
  43. * @param IntMask:
  44. ANA_INT_TADC_OVER
  45. ANA_INT_REGERR
  46. ANA_INT_SME
  47. ANA_INT_AVCCLV
  48. ANA_INT_VDCINDROP
  49. ANA_INT_VDDALARM
  50. ANA_INT_COMP2
  51. ANA_INT_COMP1
  52. ANA_INT_ADCA
  53. ANA_INT_ADCM
  54. * @retval interrupt status.
  55. */
  56. uint8_t ANA_GetINTStatus(uint32_t IntMask)
  57. {
  58. /* Check parameters */
  59. assert_parameters(IS_ANA_INTSTSR(IntMask));
  60. if (ANA->INTSTS&IntMask)
  61. {
  62. return 1;
  63. }
  64. else
  65. {
  66. return 0;
  67. }
  68. }
  69. /**
  70. * @brief Clear interrupt status.
  71. * @param IntMask:
  72. ANA_INT_TADC_OVER
  73. ANA_INT_REGERR
  74. ANA_INT_SME
  75. ANA_INT_AVCCLV
  76. ANA_INT_VDCINDROP
  77. ANA_INT_VDDALARM
  78. ANA_INT_COMP2
  79. ANA_INT_COMP1
  80. ANA_INT_ADCA
  81. ANA_INT_ADCM
  82. * @retval None
  83. */
  84. void ANA_ClearINTStatus(uint32_t IntMask)
  85. {
  86. /* Check parameters */
  87. assert_parameters(IS_ANA_INTSTSC(IntMask));
  88. ANA->INTSTS = IntMask;
  89. }
  90. /**
  91. * @brief ANA interrupt configure.
  92. * @param IntMask:
  93. ANA_INT_REGERR
  94. ANA_INT_SME
  95. ANA_INT_AVCCLV
  96. ANA_INT_VDCINDROP
  97. ANA_INT_VDDALARM
  98. ANA_INT_COMP2
  99. ANA_INT_COMP1
  100. ANA_INT_ADCA
  101. ANA_INT_ADCM
  102. NewState:
  103. ENABLE
  104. DISABLE
  105. * @retval None
  106. */
  107. void ANA_INTConfig(uint32_t IntMask, uint32_t NewState)
  108. {
  109. uint32_t tmp;
  110. /* Check parameters */
  111. assert_parameters(IS_ANA_INT(IntMask));
  112. assert_parameters(IS_FUNCTIONAL_STATE(NewState));
  113. tmp = ANA->INTEN;
  114. if (NewState == ENABLE)
  115. {
  116. tmp |= IntMask;
  117. }
  118. else
  119. {
  120. tmp &= ~IntMask;
  121. }
  122. ANA->INTEN = tmp;
  123. }
  124. /*********************************** END OF FILE ******************************/