cmem7_rtc.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. *****************************************************************************
  3. * @file cmem7_rtc.c
  4. *
  5. * @brief CMEM7 RTC source file
  6. *
  7. *
  8. * @version V1.0
  9. * @date 3. September 2013
  10. *
  11. * @note
  12. *
  13. *****************************************************************************
  14. * @attention
  15. *
  16. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  17. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  18. * TIME. AS A RESULT, CAPITAL-MICRO SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
  19. * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  20. * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  21. * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  22. *
  23. * <h2><center>&copy; COPYRIGHT 2013 Capital-micro </center></h2>
  24. *****************************************************************************
  25. */
  26. #include "cmem7_rtc.h"
  27. #define SECONDS_IN_A_DAY (86400)
  28. void RTC_ITConfig(uint32_t Int, BOOL Enable) {
  29. assert_param(IS_RTC_INT(Int));
  30. if (Enable) {
  31. GLOBAL_CTRL->RTC_INT_EN |= Int;
  32. } else {
  33. GLOBAL_CTRL->RTC_INT_EN &= ~Int;
  34. }
  35. }
  36. BOOL RTC_GetITStatus(uint32_t Int) {
  37. assert_param(IS_RTC_INT(Int));
  38. if (0 != (RTC->INT_STATUS & Int)) {
  39. return TRUE;
  40. }
  41. return FALSE;
  42. }
  43. void RTC_ClearITPendingBit(uint32_t Int) {
  44. assert_param(IS_RTC_INT(Int));
  45. RTC->INT_STATUS = Int;
  46. }
  47. uint32_t RTC_GetSecond() {
  48. return RTC->SECOND;
  49. }
  50. uint16_t RTC_GetMillSecond() {
  51. return RTC->MILLSECOND_b.MS;
  52. }