Quellcode durchsuchen

控制板升级接口放在主函数中

liyi vor 1 Jahr
Ursprung
Commit
4e5f2a82c2

+ 6 - 1
truing_control/PDU_AC_OLD/App/Main/Main.c

@@ -84,7 +84,7 @@ ACDC_Consumer_Clear EE_ACDC_Consumer_Clear[RelaySlaveChaNum] = {0};
 ACDC_Over_Func_WriteReg 	ACDC_Over_WriteReg[RelaySlaveChaNum];  
 
 
-
+uint8_t upgrade_flag = 0;
 
 
 
@@ -1037,6 +1037,11 @@ int main(void)
 			}
 			AT24CxxWrite(Eepr_AC_Sing_Total_Consumer_addr, buff,4*RelaySlaveChaNum);
 		}
+		if(upgrade_flag)
+		{
+			upgrade_flag = 0;
+			break_2_boot_upgreade();
+		}
   }
 }
 /*freemodbus作者使用了assert,故增加如下代码,同时

+ 2 - 2
truing_control/PDU_AC_OLD/App/Modbus/BARE/port/port.c

@@ -135,7 +135,7 @@ extern ACDC_Wann_Read_Reg_t ACDC_Wann_All;
 extern AC_Ele_struct_ReadReg AC_Ele_ReadReg_All;
 extern META_DATA_S meta_data ;
 extern information_t infomation;
-
+extern uint8_t upgrade_flag;
 
 #if SUPPORT_SELF_LOCK
  extern	uint8_t handle_k_1_status;
@@ -490,7 +490,7 @@ eMBRegHoldingCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegi
 							AT24CxxWrite(Eepr_AC_Sing_All_Over_SmaAddr,Eeprom_Wbuf,2);
 						}else if(AC_Sing_Break_Upgrade == usAddress)
 						{
-							break_2_boot_upgreade();
+							upgrade_flag = 1;
 						}
         }
     }