forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-04-19 d91ac630ac0e13ea31919052ea2bc54cafef583b
Function/EXTERN_RTC/extern_rtc.c
@@ -1,12 +1,19 @@
#include "extern_rtc.h"
#include "i2c.h"
#include "uart.h"
#include "gpio.h"
#include "system_general_para.h"
//__IO CALENDAR_TIME_T calendar_g = {0};
__IO sClockBCD sys_clockBCD_g = {24,1,1,0,0,0};
//__IO CALENDAR_TIME_T calendar_test_g = {0};
void RTC_GPIO_Init(void)
{
   I2c_Scl_Gpio_Init();
   InputtIO(EXT_RTC_INT_PORT,EXT_RTC_INT_PIN,IN_PULLUP);
}
//ÅжÏBCDʱ¼äÊÇ·ñÓÐЧ£¬ FAIL±íʾʱ¼äÓÐÎó£¬PASS±íʾʱ¼äÓÐЧ
@@ -149,7 +156,33 @@
      return PASS;
   }else
   {
      return FAIL;
      //ÔÙ¶ÁÒ»´Î
      R8025T_Read(0,rtc_time,7);
      calendar_l.year = rtc_time[6];
      calendar_l.month = rtc_time[5];
      calendar_l.day = rtc_time[4];
      calendar_l.hour = rtc_time[2];
      calendar_l.min = rtc_time[1];
      calendar_l.sec = rtc_time[0];
      if(TimeEffectJudgm(calendar_l)==PASS) //¶ÁÈ¡µÄʱ¼äÕýÈ·²Å²Ù×÷Ö¸Õë
      {
         calendar_p->sec = rtc_time[0];
         calendar_p->min = rtc_time[1];
         calendar_p->hour = rtc_time[2];
         calendar_p->day = rtc_time[4];
         calendar_p->month = rtc_time[5];
         calendar_p->year = rtc_time[6];
   #ifdef RS232_PRINTF
      printf("EX_RTC_TIME = %X-%02X-%02X-%02X-%02X-%02X \r\n",calendar_p->year,calendar_p->month,calendar_p->day,
                                                                                             calendar_p->hour,calendar_p->minute,calendar_p->second);
   #endif
         return PASS;
      }else
      {
         return FAIL;
      }
   }
}