Przeglądaj źródła

控制板修改

liyi 1 rok temu
rodzic
commit
10c9049504

+ 2 - 2
F030/Core/Inc/main.h

@@ -15,8 +15,8 @@ extern "C" {
 
 #define     COUNT_BASE												(4096)
 
-#define 		ALL_RES														(500500)
-#define 		GATHER_RES												(500)
+#define 		ALL_RES														(501000)
+#define 		GATHER_RES												(1000)
 
 #include "stm32f0xx_hal.h"
 

+ 2 - 2
F030/Core/Src/main.c

@@ -64,8 +64,8 @@ static void get_adc_val()
 	temp *=	ALL_RES;
 	temp /=	GATHER_RES;
 	temp /= 10.0;
-	if(temp > 50)
-		temp+=(1.8*1000);
+  if(temp > 50)
+		temp+=(500);
 	tx_voltage.f_data = temp;
 
 }

+ 129 - 67
control/PDU-AC-COMBINE_UPGRADE/App/Main/Main.c

@@ -384,7 +384,9 @@ static  void  Proc100msTask(void)
 
 		WarnState_ch(channel);																																																							//更新状态寄存器的告警阈值
 		//over_RelayState();
+#if(!SUPPORT_OUTPUT_NOT_CTRL)
 		over_RelayState_ch(channel);
+#endif
 		channel=channel+1;
 		if(channel>=RelaySlaveChaNum){
 		//	ACDC_Total_All_Chn_Read_Reg.ACDC_All_Consumption = all_val;
@@ -402,6 +404,20 @@ static  void  Proc100msTask(void)
     Clr100msFlag();   //清除100ms标志
   }
 }
+
+
+void set_channel_status(uint8_t channel,uint8_t status)
+{
+	
+	if(status)
+	{	
+		EE_ACDC_State_ReadReg[channel].ACDC_Cha_On_Off_State 			= true;	
+	}else
+	{
+		EE_ACDC_State_ReadReg[channel].ACDC_Cha_On_Off_State 			= false;	
+	}
+}
+
 /*********************************************************************************************************
 * 函数名称:InitHardware
 * 函数功能:所有的硬件相关的模块初始化函数都放在此函数中
@@ -456,7 +472,25 @@ static  void  InitHardware(void)
 	BUFF;
 	LOCK;
 #endif
+
+
+
+
 	ReadEeprom();
+#if SUPPORT_4_ON
+	solid_4_on();
+	BUFF;
+	LOCK;
+	EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State = true;
+	EE_ACDC_State_ReadRegTrue[0].ACDC_Cha_On_Off_State = true;
+	EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State = true;
+	EE_ACDC_State_ReadRegTrue[1].ACDC_Cha_On_Off_State = true;
+	EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State = true;
+	EE_ACDC_State_ReadRegTrue[2].ACDC_Cha_On_Off_State = true;
+	EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State = true;
+	EE_ACDC_State_ReadRegTrue[3].ACDC_Cha_On_Off_State = true;
+	
+#endif	
 	strcpy(infomation.date,__DATE__);
 	strcat(infomation.date," ");
 	strcat(infomation.date,__TIME__);
@@ -475,23 +509,36 @@ static  void  InitHardware(void)
 		key_2 = get_key_io_2();
 		key_3 = get_key_io_3();
 		key_4 = get_key_io_4();
+#if RelaySlaveChaNum >= 1
 		if(key_1  == false)
 		{
 			handle_k_1_status = 0;
+			set_channel_status(0,0);
 		}
+#endif
+#if RelaySlaveChaNum >= 2
 		if(key_2  == false)
 		{
 			handle_k_2_status = 0;
+			set_channel_status(1,0);
 		}
+#endif
+#if RelaySlaveChaNum >= 3
 		if(key_3  == false)
 		{
 			handle_k_3_status = 0;
+			set_channel_status(2,0);
 		}
+#endif
+#if RelaySlaveChaNum >= 4
 		if(key_4  == false)
 		{
 			handle_k_4_status = 0;
+			set_channel_status(3,0);
 		}
 #endif
+#endif
+#if (!SUPPORT_OUTPUT_NOT_CTRL)
 	while(1)
 	{
 		eMBPoll();
@@ -516,26 +563,21 @@ static  void  InitHardware(void)
 			break;
 		}
 	}
+#else
+		Delay_Ms_1 = 0;		
+		Delay_End_flag = 0;	
+		Jlink_Sta_Flag = 0;
+		timer_disable(TIMER14);	
+#endif
 }
 
 
 
-void set_channel_status(uint8_t channel,uint8_t status)
-{
-	
-	if(status)
-	{	
-		EE_ACDC_State_ReadReg[channel].ACDC_Cha_On_Off_State 			= true;	
-	}else
-	{
-		EE_ACDC_State_ReadReg[channel].ACDC_Cha_On_Off_State 			= false;	
-	}
-}
 
 
 void switch_recode()
 {
-	
+#if (!SUPPORT_OUTPUT_NOT_CTRL)
 #if SUPPORT_DETECTION
 #if SUPPORT_SWITCH_REMENBER
 #if ((RelaySlaveChaNum == 6) || ((RelaySlaveChaNum == 8) && SUPPORT_2_DETECTION))
@@ -543,27 +585,27 @@ void switch_recode()
 			{
 					if(handle_detection[0] == 1)
 					{
-						for(uint8_t k = 0; k < (RelaySlaveChaNum/2);k++)
+						uint8_t channel = (RelaySlaveChaNum % 2) ? (RelaySlaveChaNum/2 +1) : (RelaySlaveChaNum / 2);
+						for(uint8_t k = 0; k < channel;k++)
 							handle_status[k] = EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State;
+											EE_ACDC_State_ReadReg[0].ACDC_ALLCha_Off_State=true;
+						for(uint8_t k = 0; k < channel;k++)
+							EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State=false;
+						for(uint8_t k = 0; k < channel;k++)
+							RelayState_ch(k);
+						handle_detection[0] = 0;
 					}
-					handle_detection[0] = 0;
-					EE_ACDC_State_ReadReg[0].ACDC_ALLCha_Off_State=true;
-					for(uint8_t k = 0; k < (RelaySlaveChaNum/2);k++)
-						EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State=false;
-					for(uint8_t k = 0; k < (RelaySlaveChaNum/2);k++)
-						RelayState_ch(k);
 			}else
 			{
 				if(handle_detection[0] == 0)
 				{
 					handle_detection[0] = 1;
-					for(uint8_t k = 0; k < (RelaySlaveChaNum/2);k++)
+					uint8_t channel = (RelaySlaveChaNum % 2) ? (RelaySlaveChaNum/2 +1) : (RelaySlaveChaNum / 2);
+					for(uint8_t k = 0; k < channel;k++)
 						EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State=handle_status[k];
-						EE_ACDC_State_ReadReg[0].ACDC_ALLCha_On_State=true;
-							input_1_en = 1;
-							input_1_ms_count = 0;
-
-							
+					EE_ACDC_State_ReadReg[0].ACDC_ALLCha_On_State=true;
+					input_1_en = 1;
+					input_1_ms_count = 0;			
 				}
 			}
 			
@@ -571,22 +613,24 @@ void switch_recode()
 			{
 				if(handle_detection[1] == 1)
 				{
-					for(uint8_t k = (RelaySlaveChaNum/2); k < RelaySlaveChaNum;k++)
+					uint8_t channel = (RelaySlaveChaNum % 2) ? (RelaySlaveChaNum/2 +1) : (RelaySlaveChaNum /2);
+					for(uint8_t k = channel; k < RelaySlaveChaNum;k++)
 						handle_status[k] = EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State;
+					EE_ACDC_State_ReadReg[0].ACDC_ALLCha_Off_State=true;
+					
+					for(uint8_t k = channel; k < RelaySlaveChaNum;k++)
+						EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State=false;
+					for(uint8_t k = channel; k < RelaySlaveChaNum;k++)
+						RelayState_ch(k);
+					handle_detection[1] = 0;
 				}
-				EE_ACDC_State_ReadReg[0].ACDC_ALLCha_Off_State=true;
-				handle_detection[1] = 0;
-				for(uint8_t k = (RelaySlaveChaNum/2); k < RelaySlaveChaNum;k++)
-					EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State=false;
-				
-				for(uint8_t k = (RelaySlaveChaNum/2); k < RelaySlaveChaNum;k++)
-					RelayState_ch(k);
 			}else
 			{
 				if(handle_detection[1] == 0)
 				{
 					handle_detection[1] = 1;
-					for(uint8_t k = (RelaySlaveChaNum/2); k < RelaySlaveChaNum;k++)
+					uint8_t channel = (RelaySlaveChaNum % 2) ? (RelaySlaveChaNum/2 +1) : (RelaySlaveChaNum / 2);
+					for(uint8_t k = channel; k < RelaySlaveChaNum;k++)
 						EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State=handle_status[k];
 					EE_ACDC_State_ReadReg[0].ACDC_ALLCha_On_State=true;
 							input_2_en = 1;
@@ -690,6 +734,10 @@ void switch_recode()
 		}
 #endif	
 #endif
+#endif
+#else
+
+
 #endif
 	
 }
@@ -964,14 +1012,17 @@ void sub_control()
 	}else
 	{
 #if (RelaySlaveChaNum >= 1)
-		if(key_1  == false)				//not in line
+		if(key_1  == false )				//not in line
 		{
-			set_channel_status(0,0);
-			Relay1State();
-			BUFF;
-			LOCK;
-			AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr,(uint8_t*)&(EE_ACDC_State_ReadReg[0]),2);
-			handle_k_1_status = 0;
+			if(handle_k_1_status == 1)
+			{
+				set_channel_status(0,0);
+				Relay1State();
+				BUFF;
+				LOCK;
+				AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr,(uint8_t*)&(EE_ACDC_State_ReadReg[0]),2);
+				handle_k_1_status = 0;
+			}
 		}else
 		{
 			if(handle_k_1_status == 0)
@@ -985,15 +1036,18 @@ void sub_control()
 			}
 		}
 #endif
-#if (RelaySlaveChaNum >= 2)
+#if (RelaySlaveChaNum >= 2 )
 		if(key_2  == false)
 		{
-			set_channel_status(1,0);
-			Relay2State();
-			BUFF;
-			LOCK;
-			AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr+2,(uint8_t*)&(EE_ACDC_State_ReadReg[1]),2);
-			handle_k_2_status = 0;
+			if(handle_k_2_status == 1)
+			{
+				set_channel_status(1,0);
+				Relay2State();
+				BUFF;
+				LOCK;
+				AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr+2,(uint8_t*)&(EE_ACDC_State_ReadReg[1]),2);
+				handle_k_2_status = 0;
+			}
 		}else
 		{
 			if(handle_k_2_status == 0)
@@ -1010,12 +1064,15 @@ void sub_control()
 #if (RelaySlaveChaNum >= 3)
 		if(key_3 == false)
 		{
-			set_channel_status(2,0);
-			Relay3State();
-			BUFF;
-			LOCK;
-			AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr+4,(uint8_t*)&(EE_ACDC_State_ReadReg[2]),2);
-			handle_k_3_status = 0;
+			if(handle_k_3_status == 1)
+			{
+				set_channel_status(2,0);
+				Relay3State();
+				BUFF;
+				LOCK;
+				AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr+4,(uint8_t*)&(EE_ACDC_State_ReadReg[2]),2);
+				handle_k_3_status = 0;
+			}
 		}else
 		{
 			if(handle_k_3_status == 0)
@@ -1032,12 +1089,15 @@ void sub_control()
 #if (RelaySlaveChaNum >= 4)
 		if(key_4 == false)
 		{
-			set_channel_status(3,0);
-			Relay4State();
-			BUFF;
-			LOCK;
-			AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr+6,(uint8_t*)&(EE_ACDC_State_ReadReg[3]),2);
-			handle_k_4_status = 0;
+			if(handle_k_4_status == 1)
+			{
+				set_channel_status(3,0);
+				Relay4State();
+				BUFF;
+				LOCK;
+				AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr+6,(uint8_t*)&(EE_ACDC_State_ReadReg[3]),2);
+				handle_k_4_status = 0;
+			}
 		}else
 		{
 			if(handle_k_4_status == 0)
@@ -1069,6 +1129,7 @@ void sub_control()
 *********************************************************************************************************/
 int main(void)
 {
+
 	app_init(&meta_data);
   InitHardware();   								//初始化硬件相关函数
 
@@ -1081,15 +1142,16 @@ int main(void)
 		check_channel_reset();
     Proc1SecTask(); 			//1s处理任务   
 		Fwdgt_reload();
-		switch_recode();
 		
-#if SUPPORT_ALL_ON_OFF
-			check_or_controll_all();
-#endif
-#if SUPPORT_SELF_LOCK
-			sub_control();
+#if(!SUPPORT_OUTPUT_NOT_CTRL)
+		switch_recode();	
+	#if SUPPORT_ALL_ON_OFF
+				check_or_controll_all();
+	#endif
+	#if SUPPORT_SELF_LOCK
+				sub_control();
+	#endif
 #endif
-
 		if(write_2_minute_flag == 1)
 		{
 			write_2_minute_flag = 0;

+ 10 - 1
control/PDU-AC-COMBINE_UPGRADE/App/Main/board_cfg.h

@@ -18,7 +18,8 @@
 #define   PRJ_1_All_OLD             0
 #define   PRJ_7                     0
 #define   PRJ_3_ALL_O_ALL_C         0
-#define   PRJ_ONE_DE                1
+#define   PRJ_ONE_DE                0
+#define   PRJ_4_UNCTRL              1
 
 
 #if PRJ_4_BASE
@@ -116,6 +117,14 @@
 #elif PRJ_ONE_DE
 	#define 	RelaySlaveChaNum 					1
 	#define 	ACSingCurrid 							2 
+#elif  PRJ_4_UNCTRL
+	#define 	RelaySlaveChaNum 					4
+	#define 	SUPPORT_JLINK							1
+	#define   SUPPORT_DETECTION         1
+	#define   SUPPORT_FALLING_DETECTED  1
+	#define 	ACSingCurrid 							2 
+	#define   SUPPORT_OUTPUT_NOT_CTRL   1
+	#define   SUPPORT_4_ON              1
 #endif
 
 

+ 1 - 1
control/PDU-AC-COMBINE_UPGRADE/App/Main/cfg.h

@@ -18,7 +18,7 @@
 #define PROGRAME_APP1_SIZE								(48*1024)													//App1 programe Max size
 
 
-#define VERSION                          		"V1.0.0.2"
+#define VERSION                          		"V1.0.0.0"
 
 #define MODBUS_HEAD                        	"GOWONE_UPGRADE"
 

+ 41 - 2
control/PDU-AC-COMBINE_UPGRADE/App/Modbus/BARE/port/port.c

@@ -137,6 +137,14 @@ extern META_DATA_S meta_data ;
 extern information_t infomation;
 
 
+#if SUPPORT_SELF_LOCK
+ extern	uint8_t handle_k_1_status;
+ extern	uint8_t handle_k_2_status;
+ extern	uint8_t handle_k_3_status;
+ extern	uint8_t handle_k_4_status;
+#endif
+
+
 eMBErrorCode
 eMBRegHoldingCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegisterMode eMode )
 {
@@ -254,6 +262,7 @@ eMBRegHoldingCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegi
 						}
 						else if((usAddress>=AC_Sing_State_SmaWAddr)&&(usAddress<=AC_Sing_State_SmaWAddr+AC_Sing_State_SmaWQua))//设置通道的状态
 						{
+#if(!SUPPORT_OUTPUT_NOT_CTRL)
 							  WeeiRegIndex = (int)(usAddress - AC_Sing_State_SmaWAddr);
 								Chal_num = (usAddress-AC_Sing_State_SmaWAddr);             					 				//设置哪个通道的状态
 //								memcpy(&ACDC_State_WriteReg[Chal_num],&usRegHoldBuf[WiRegIndex],WusNRegs);	//将接收的数据放入写结构体中
@@ -281,6 +290,33 @@ eMBRegHoldingCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegi
 										EE_ACDC_State_ReadReg[i].ACDC_Ele_Upthr_En = false;
 									}
 								}
+#if SUPPORT_SELF_LOCK
+		#if (RelaySlaveChaNum >= 1)
+				if(handle_k_1_status == 0)
+				{
+					EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State = 0;
+				}
+		#endif
+		#if (RelaySlaveChaNum >= 2)
+				if(handle_k_2_status == 0)
+				{
+					EE_ACDC_State_ReadReg[1].ACDC_Cha_On_Off_State = 0;
+				}
+		#endif
+		#if (RelaySlaveChaNum >= 3)
+				if(handle_k_3_status == 0)
+				{
+					EE_ACDC_State_ReadReg[2].ACDC_Cha_On_Off_State = 0;
+				}
+		#endif	
+		#if (RelaySlaveChaNum >= 4)
+				if(handle_k_4_status == 0)
+				{
+					EE_ACDC_State_ReadReg[3].ACDC_Cha_On_Off_State = 0;
+				}
+		#endif				
+								
+#endif
 								memcpy(&Eeprom_Wbuf,&EE_ACDC_State_ReadReg[Chal_num],WusNRegs*2);								   			//将数据由16进制转化为无符号数据存入数组 
 								AT24CxxWrite(Eepr_AC_Sing_State_SmaWAddr+WeeiRegIndex*2,Eeprom_Wbuf, WusNRegs*2); //将数据写入到eeprom中
 							  if((WusNRegs==RelaySlaveChaNum)&&(EE_ACDC_State_ReadReg[0].ACDC_Cha_On_Off_State==true)&&(EE_ACDC_State_ReadReg[0].ACDC_ALLCha_On_State==true))//通过下发的通道数和开关状态可以判断为全开
@@ -305,13 +341,15 @@ eMBRegHoldingCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegi
 									if((detection_value & 0x1) == 0)
 									{
 											uint8_t k = 0;
-											for(k=0;k <(RelaySlaveChaNum)/2;k++)
+											uint8_t channel = (RelaySlaveChaNum % 2) ? (RelaySlaveChaNum/2 +1) : (RelaySlaveChaNum / 2);
+											for(k=0;k <channel;k++)
 												EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State = false;
 									}
 									if((detection_value & 0x2) == 0)
 									{
 											uint8_t k = 0;
-											for(k=(RelaySlaveChaNum)/2;k <RelaySlaveChaNum;k++)
+											uint8_t channel = (RelaySlaveChaNum % 2) ? (RelaySlaveChaNum/2 +1) : (RelaySlaveChaNum / 2);
+											for(k=channel;k <RelaySlaveChaNum;k++)
 												EE_ACDC_State_ReadReg[k].ACDC_Cha_On_Off_State = false;
 									}										
 #else									
@@ -321,6 +359,7 @@ eMBRegHoldingCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegi
 										//RelayState();	
 										RelayState_ch(Chal_num);
 								}
+#endif
 						}
 						else if((usAddress>=AC_Sing_Thr_SmaAddr)&&(usAddress<=AC_Sing_Thr_SmaAddr+AC_Sing_Thr_SmaQua))//设置通道的阈值
 						{

+ 13 - 13
control/PDU-AC-COMBINE_UPGRADE/App/ReadEeprom/ReadEeprom.c

@@ -209,22 +209,22 @@ void  ReadEeprom(void)
 	memcpy(&EE_ACDC_Coef_ReadReg,&Eeprom_Rbuf,Eepr_AC_Sing_Coef_SmaQua);							//将数据拷贝到指定的结构体,可能需要注意大小端问题
 	for(Chal_Num=0;Chal_Num<RelaySlaveChaNum;Chal_Num++)                              //如果eeprom中没有存入数据设置默认值
 	{
-		if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_V_k)==0xffffffff)												//没有写入电压系数则默认K为1000,B为0;放大1000倍存入的
-		{
+	//	if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_V_k)==0xffffffff)												//没有写入电压系数则默认K为1000,B为0;放大1000倍存入的
+	//	{
 			EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_V_k = 1000;
-		}
-		if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_V_b)==0xffffffff)
-		{
-			(EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_V_b) = 0;
-		}
-		if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_I_k)==0xffffffff)												 //没有写入电流系数则默认K为1000,B为0;放大1000倍存入的
-		{
+	//	}
+	//	if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_V_b)==0xffffffff)
+	//	{
+			EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_V_b = 0;
+	//	}
+	//	if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_I_k)==0xffffffff)												 //没有写入电流系数则默认K为1000,B为0;放大1000倍存入的
+	//	{
 			EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_I_k = 1000;
-		}
-		if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_I_b)==0xffffffff)
-		{
+	//	}
+	//	if((EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_I_b)==0xffffffff)
+	//	{
 			EE_ACDC_Coef_ReadReg[Chal_Num].ACDC_I_b = 0;
-		}
+	//	}
 	}
 	//read total consumer
   AT24CxxRead(Eepr_AC_Sing_Total_Consumer_addr, Eeprom_Rbuf, Eepr_AC_Sing_Total_Consumer_SmaQua);	

+ 12 - 0
control/PDU-AC-COMBINE_UPGRADE/App/Relay/Relay.c

@@ -122,4 +122,16 @@ void solid_on()
 }
 
 
+#endif
+
+
+#if SUPPORT_4_ON
+
+void solid_4_on(void)
+{
+	gpio_bit_set(RELAY_1_RCU, RELAY_1); 
+	gpio_bit_set(RELAY_2_4_RCU, RELAY_2); 
+	gpio_bit_set(RELAY_2_4_RCU, RELAY_3); 
+	gpio_bit_set(RELAY_2_4_RCU, RELAY_4); 	
+}
 #endif

+ 4 - 0
control/PDU-AC-COMBINE_UPGRADE/App/Relay/Relay.h

@@ -129,4 +129,8 @@ void InitRelay(void);                   	//
 void solid_on();
 #endif
 
+#if SUPPORT_4_ON
+void solid_4_on(void);
+#endif
+
 #endif

+ 3 - 1
control/PDU-DC_UPGRADE/App/ADC/ADC.c

@@ -188,6 +188,7 @@ uint32_t DC_I_calfunction(uint16_t da,uint8_t channel)
 #if SUPPORT_STM32_ADC
 		switch(channel)
 		{
+	#if SPPPORT_BIG_HAL
 			case 0:
 			case 1:
 			case 4:
@@ -210,6 +211,7 @@ uint32_t DC_I_calfunction(uint16_t da,uint8_t channel)
 							temp_i = 0;
 			}
 				break;
+		#endif
 			default:
 			{
 				temp_v = da;
@@ -220,7 +222,7 @@ uint32_t DC_I_calfunction(uint16_t da,uint8_t channel)
 				temp_i = temp_v / I_sens;
 				temp_i /= 10;//去掉第3位小数
 				temp_i *= 10;
-				temp_i += 70;
+				//temp_i += 70;
 				if(temp_i <= 80)
 							temp_i = 0;
 			}

+ 8 - 1
control/PDU-DC_UPGRADE/App/Main/board_cnf.h

@@ -9,7 +9,8 @@
 #define 								PRJ_BASE_DC_8      												0
 #define 								PRJ_ADC_V_DC_8														0
 #define                 PRJ_ADC_V_DC_7_1                          0
-#define                 PRJ_ADC_V_DC_4_4                          1
+#define                 PRJ_ADC_V_DC_4_4                          0
+#define                 PRJ_ADC_V_DC_NEW_8                        1
 
 #if   PRJ_BASE_DC_8
 	#define RELAY_ChN_default             		8
@@ -32,6 +33,12 @@
 	#define SURPPOT_ALL_ON_ALL_OFF          	1
 	#define SUPPORT_DETECTION               	1
 	#define SUPPORT_STM32_ADC                 1
+	#define SPPPORT_BIG_HAL                1
+#elif    PRJ_ADC_V_DC_NEW_8
+	#define RELAY_ChN_default             		8
+	#define SURPPOT_ALL_ON_ALL_OFF          	1
+	#define SUPPORT_DETECTION               	1
+	#define SUPPORT_STM32_ADC                 1
 #endif
 
 

BIN
control/PDU-DC_UPGRADE/tools/bootloader.bin