Selaa lähdekoodia

V2.0.6_20211027
1 修改关机模式处理函数,解决关机电机不能保存里程数问题;
2 版本号修改为2.0.6_20211027;
3 屏蔽PBU配置参数保存条件判断代码,解决24V电压下参数不能保存问题;

white.xu 3 vuotta sitten
vanhempi
sitoutus
25dcd1c577
3 muutettua tiedostoa jossa 15 lisäystä ja 8 poistoa
  1. 1 1
      Src_app/can_process.c
  2. 13 6
      Src_app/tasks.c
  3. 1 1
      Src_app/var.c

+ 1 - 1
Src_app/can_process.c

@@ -233,7 +233,7 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
 				}
 				case 0x5810://дÈëPBU³ö³§²ÎÊý
 				{
-				  if(strncmp((char*)&PBU_ConfigParam.RatedVoltage, (char*)Data, DataLength) != 0)
+//				  if(strncmp((char*)&PBU_ConfigParam.RatedVoltage, (char*)Data, DataLength) != 0)
 					{
 					  memcpy(&PBU_ConfigParam.RatedVoltage, Data, 16);
 					  EEPROM_DataUpdate();				

+ 13 - 6
Src_app/tasks.c

@@ -622,12 +622,17 @@ void PBU_RunMode_Process(PBU_RunMode_t RunMode)
 			LED_INIT();
 			
 			//关机前,发送指令关灯,避免下次开机时灯会闪亮一下
-			ControlCode_MC_WalkSby.GearSt = 0;
-			ControlCode_MC_WalkSby.LightSwitch = 0xF0;
-			SendData(ID_PBU_TO_MC, 0x0C, 0x3002, (uint8_t*)(&(ControlCode_MC_WalkSby.GearSt)));
-			HAL_Delay(50);
-			SendData(ID_PBU_TO_MC, 0x0C, 0x3002, (uint8_t*)(&(ControlCode_MC_WalkSby.GearSt)));
-			
+			static uint8_t LightOffCommandCount=0;
+			if(LightOffCommandCount==0)
+			{
+				LightOffCommandCount=1;
+				ControlCode_MC_WalkSby.GearSt = 0;
+				ControlCode_MC_WalkSby.LightSwitch = 0xF0;
+				SendData(ID_PBU_TO_MC, 0x0C, 0x3002, (uint8_t*)(&(ControlCode_MC_WalkSby.GearSt)));
+				HAL_Delay(20);
+				SendData(ID_PBU_TO_MC, 0x0C, 0x3002, (uint8_t*)(&(ControlCode_MC_WalkSby.GearSt)));
+				HAL_Delay(20);
+			}
 			PowerOn_flag=0;			
 		  //关机前发送SHUTDOWN指令,收到所有设备关机就绪信号,或超时2s关机
 			if((PBU_PowerOff_Process.Ready_Status.Status & 0x01) != 0x01)//未收到所有设备的关机就绪信号
@@ -650,6 +655,7 @@ void PBU_RunMode_Process(PBU_RunMode_t RunMode)
 					HAL_IWDG_Refresh(&hiwdg1);
 				}while(*(Key_On_Off.ADC_result)<3000);
 				__set_FAULTMASK(1);//关闭所有中断
+				HAL_Delay(200);
 				HAL_NVIC_SystemReset();
 			}
 			//超时判断
@@ -665,6 +671,7 @@ void PBU_RunMode_Process(PBU_RunMode_t RunMode)
 					HAL_IWDG_Refresh(&hiwdg1);
 				}while(*(Key_On_Off.ADC_result)<3000);
 				__set_FAULTMASK(1);//关闭所有中断
+				HAL_Delay(200);				
 				HAL_NVIC_SystemReset();
 			 }
 			MC_Online_TimeCnt=SysTime_5ms;

+ 1 - 1
Src_app/var.c

@@ -78,7 +78,7 @@ void Var_Init(void)
 	
 	//PBU版本信息,Mode和SN从EEPROM读取
 	strcpy(PBU_VerInfo.HW_Version, (char*)"ZB002D_20190905.");//长度为16bytes
-	strcpy(PBU_VerInfo.FW_Version, (char*)"V2r0r5_20210630.");//长度为16bytes
+	strcpy(PBU_VerInfo.FW_Version, (char*)"V2r0r6_20211027.");//长度为16bytes
 
   //PBU校验信息,校验码从EEPROM读取
 	PBU_CheckInfo.MAC_ID[0] = *(__IO uint32_t*)(0x1FFFF7AC);