From 6e3f1f560d618b37ee1a47fa2b0f682b70c3ef1c Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 19 Jun 2024 17:25:45 +0800
Subject: [PATCH] 增加OTA协议

---
 Function/E2P/EEPROM.c |   77 +++++++++++++++++++++++++-------------
 1 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/Function/E2P/EEPROM.c b/Function/E2P/EEPROM.c
index 3db0bcd..f5249cd 100644
--- a/Function/E2P/EEPROM.c
+++ b/Function/E2P/EEPROM.c
@@ -30,6 +30,19 @@
 	OutputIO(EEPROM_CS1_PORT,EEPROM_CS1_PIN,OUT_PUSHPULL);
 	OutputIO(EEPROM_CS2_PORT,EEPROM_CS2_PIN,OUT_PUSHPULL);
 	CloseIO(EEPROM_WP_PORT,EEPROM_WP_PIN);
+	E2P_PWR_ON;
+	EEPROM_CS_HIGH;
+	EEPROM_CS_2_HIGH;
+}
+
+
+void E2P_Ctrl_Gpio_sleep(void)
+{
+	CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱ�ӣ�GPIO��ʹ�ܺ���
+	OutputIO(EEPROM_PWR_PORT,EEPROM_PWR_PIN,OUT_PUSHPULL);
+	OutputIO(EEPROM_CS1_PORT,EEPROM_CS1_PIN,OUT_PUSHPULL);
+	OutputIO(EEPROM_CS2_PORT,EEPROM_CS2_PIN,OUT_PUSHPULL);
+	CloseIO(EEPROM_WP_PORT,EEPROM_WP_PIN);
 	E2P_PWR_OFF;
 	EEPROM_CS_LOW;
 	EEPROM_CS_2_LOW;
@@ -95,7 +108,9 @@
 		
 	  EEPROM_CS_ENABLE;
 		FM_ReadWriteByte(FM_WRITE);
+	#ifndef EEPROM_ADDR_BYTES2
 	  FM_ReadWriteByte((uint8_t)((addr_fit)>>16));
+	#endif
 	  FM_ReadWriteByte((uint8_t)((addr_fit)>>8));
 		FM_ReadWriteByte((uint8_t)((addr_fit)));
 	  FM_ReadWriteByte(data);
@@ -127,7 +142,9 @@
 	
 	EEPROM_CS_ENABLE;
 	FM_ReadWriteByte(FM_READ);
+	#ifndef EEPROM_ADDR_BYTES2
 	FM_ReadWriteByte((uint8_t)(addr_fit>>16));
+	#endif
 	FM_ReadWriteByte((uint8_t)(addr_fit>>8));
 	FM_ReadWriteByte((uint8_t)(addr_fit));
 	data = FM_ReadWriteByte(0xff);//data = FM_ReadWriteByte(0xff);
@@ -418,7 +435,9 @@
 			
 		EEPROM_CS_ENABLE;
 		FM_ReadWriteByte(FM_WRITE);
+		#ifndef EEPROM_ADDR_BYTES2
 		FM_ReadWriteByte((uint8_t)((addr_temp)>>16));
+		#endif
 		FM_ReadWriteByte((uint8_t)((addr_temp)>>8));
 		FM_ReadWriteByte((uint8_t)(addr_temp));
 		for(i = 0;i < bytewrite;i ++)
@@ -460,51 +479,57 @@
 	
 	EEPROM_CS_ENABLE;
 	FM_ReadWriteByte(FM_READ);
+	#ifndef EEPROM_ADDR_BYTES2
 	FM_ReadWriteByte((uint8_t)(addr>>16));
+	#endif
 	FM_ReadWriteByte((uint8_t)(addr>>8));
 	FM_ReadWriteByte((uint8_t)(addr));
 	for(index = 0;index < bytes;index ++)
 	  data[index] = FM_ReadWriteByte(0xff);
-	EEPROM_CS_DISABLE;
 	EEPROM_Wait_Busy();	
+	EEPROM_CS_DISABLE;
 
 }
 
 
-uint8_t  EEPROM_MultipleWrite_CS_2(uint8_t *data,u32 addr,u16 bytes)
-{
-	Fram_cs_flag = EEPROM_CS_2;
-	EEPROM_MultipleWrite(data,  addr,  bytes) ;
-	
-	Fram_cs_flag = EEPROM_CS_1;
-	return 0;
-}
-
-uint8_t  EEPROM_MultipleRead_CS_2(uint8_t *data,u32 addr,u16 bytes)
-{
-	Fram_cs_flag = EEPROM_CS_2;
-	EEPROM_MultipleRead(data,  addr,  bytes) ;
-	
-	Fram_cs_flag = EEPROM_CS_1;
-	return 0;
-}
 
 
-
-void EEPROM_CS_2_test(void)
+void EEPROM_test(void)
 {
 	uint8_t   u8_temp;
 	uint8_t   u8_temp_s[256];
 	uint8_t   u8_temp_s2[256];
+	uint8_t	buf_test[10] = {0};
+	static uint16_t	WR_times = 0;
+	static uint16_t	WR_times_suc = 0;
 	
 	u16   count_i = 0;
 	
-	for(count_i=0;count_i<256;count_i++)
-	{
-		u8_temp_s[count_i] = count_i;
-		u8_temp_s2[count_i] = 0;
-	}
+
+	delay_ms(10);
+	delay_ms(100);
+	EEPROM_CTRL_ENABLE;
+	delay_ms(100);
+	EEPROM_MultipleRead(buf_test, 256, 10);
+
+
+	EEPROM_CTRL_DISABLE;
+
+	delay_ms(10);
+	memset(buf_test,0,sizeof(buf_test));
 	
+	
+	EEPROM_CTRL_ENABLE;
+	delay_ms(10);
+	EEPROM_MultipleRead(buf_test, 256, 10);
+
+	EEPROM_CTRL_DISABLE;
+
+	
+	while(1){
+		IWDT_Clr();
+		delay_ms(500);
+	}
 	
 //	while(WR_times <1024)
 //	{
@@ -535,7 +560,7 @@
 //		
 //	}
 	
-//	EEPROM_MultipleRead_CS_2(u8_temp_s2,(1000 * 256+9),256);
+
 	
 	
 	

--
Gitblit v1.9.3