From 08b3909c40a192778719c6262bbee4745682948d Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Fri, 31 May 2024 19:15:47 +0800
Subject: [PATCH] 测试和修改了一些功能bug

---
 Soft/system_general_para.c |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/Soft/system_general_para.c b/Soft/system_general_para.c
index 9e15a90..bffb7fe 100644
--- a/Soft/system_general_para.c
+++ b/Soft/system_general_para.c
@@ -1,6 +1,7 @@
 #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};
@@ -165,3 +166,58 @@
 	}
 	
 }
+
+
+
+
+
+/******************************************
+ * 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);
+}
+
+
+

--
Gitblit v1.9.3