#include "system_general_para.h" #include "main.h" #include "extern_rtc.h" #include "time.h" //uint8_t read_data_buf_A_l[200] ={0}; //uint8_t read_data_buf_B_l[200] ={0}; //uint8_t read_data_buf_C_l[200] ={0}; __IO FlagStatus sys_run_period = RESET; // ϵͳ¼¤»îÖÜÆÚ SYS_DELAY_SEC_PARA_T sys_delay_sec_para_g = { .wrc_timeout_para.delay_flag = RESET, \ .wrc_timeout_para.delay_time = 0, \ .sys_active_time.delay_flag = RESET, \ .sys_active_time.delay_time = SYS_WAKE_UP_TIME, \ .sys_restart_delay_time.delay_flag = RESET, \ .sys_restart_delay_time.delay_time = 180, \ }; FUN_START_CTRL_PARA_T sys_fun_run_ctrl_g; /*******************³£ÓõĴúÂ빤¾ß********************************/ /****************************************** * func: ucharcmp * desc: Á½×éÊý¾Ý±È½Ï£¬²»Ïàͬ·µ»ØFAIL,Ïàͬ·µ»ØPASS * input: none * output: none * return: none *****************************************/ ErrorStatus ucharcmp(uint8_t *dataA,uint8_t *dataB,uint16_t data_length) { uint16_t index_i=0; ErrorStatus return_flag=FAIL; for(index_i=0;index_i=1440) { NextTime -=1440; } } } } return RESET; } //IO¿ÚÑÓ³ÙÏû¶¶¼ì²â FlagStatus IO_JitterEliminationCheck(GPIO_Type* GPIOx, uint32_t GPIO_Pin,uint16_t delay_time_ms,BitAction bit_status) { if(delay_time_ms>1000) //Ŀǰ×î´ó¼ì²â1000msÑÓʱ£¬Ì«´ó×îϵͳÔì³ÉÓ°Ïì return RESET; if(GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == bit_status){ if(delay_time_ms > 0) delay_ms(delay_time_ms); if(GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == bit_status){ return SET; }else{ return RESET; } }else{ return RESET; } } /****************************************** * func: Time_Compare * desc: Á½ÈÕÆÚ±È½Ï£¨²îÖµ£© * input: pDate1 ʱ¼ä1 BCD pDate2 ʱ¼ä2 BCD * output: none * return: Á½Ê±¼ä²îÖµ ʱ¼ä1´óÓÚʱ¼ä2£¬·µ»ØÕýÊý£¬ÏàµÈ·µ»Ø0£¬Ð¡·µ»Ø¸ºÊý *****************************************/ int Datecmp(const uint8_t *pDate1, const uint8_t *pDate2) { uint16_t temp_year[2]; time_t date_time1, date_time2; struct tm date_tm1 = {0}, date_tm2 = {0}; /*°ÑÄê·Ý²¹ÍêÕû Hex*/ temp_year[0] = 2000 + BCD_2_DECIMAL(pDate1[0]); temp_year[1] = 2000 + BCD_2_DECIMAL(pDate2[0]); /*ʱ¼ä½á¹¹Ì帳ֵ*/ date_tm1.tm_year = temp_year[0] - 1900; date_tm1.tm_mon = BCD_2_DECIMAL(pDate1[1]) - 1; date_tm1.tm_mday = BCD_2_DECIMAL(pDate1[2]); date_tm1.tm_hour = BCD_2_DECIMAL(pDate1[3]); date_tm1.tm_min = BCD_2_DECIMAL(pDate1[4]); date_tm1.tm_sec = BCD_2_DECIMAL(pDate1[5]); date_tm2.tm_year = temp_year[1] - 1900; date_tm2.tm_mon = BCD_2_DECIMAL(pDate2[1]) - 1; date_tm2.tm_mday = BCD_2_DECIMAL(pDate2[2]); date_tm2.tm_hour = BCD_2_DECIMAL(pDate2[3]); date_tm2.tm_min = BCD_2_DECIMAL(pDate2[4]); date_tm2.tm_sec = BCD_2_DECIMAL(pDate2[5]); /*»ñµÃ´Ó1900Äê1ÔÂ1ÈÕ0ʱ0·Ö0ÃëÖÁ½ñµÄÃëÊý*/ date_time1 = mktime(&date_tm1); date_time2 = mktime(&date_tm2); // if (date_time1 > date_time2) // { // *diff_value = date_time1 - date_time2; // return 1; // } // else if (date_time1 < date_time2) // { // *diff_value = date_time2 - date_time1; // return -1; // } return (int)(date_time1 - date_time2); }