|
@@ -735,6 +735,13 @@ void Cang_Init(void)
|
|
|
pcang->Level = 2; //默认磁致伸缩液位传感器 slm
|
|
|
else
|
|
|
pcang->Level = Flash_buff[0];
|
|
|
+
|
|
|
+ Flash_ReadBytes(Flash_buff,ADDR_SENSOR_BUS_MAX_RETRY,1);
|
|
|
+ if(Flash_buff[0] == 0xffff)
|
|
|
+ pcang->sensorBusMaxReTry = 3;
|
|
|
+ else
|
|
|
+ pcang->sensorBusMaxReTry = Flash_buff[0];
|
|
|
+ if(pcang->sensorBusMaxReTry > 1000) pcang->sensorBusMaxReTry = 1000; // 设置硬上限
|
|
|
|
|
|
Flash_ReadBytes(Flash_buff,CANG1_LEVEL_CAL,8);
|
|
|
if(Flash_buff[0] == 0xffff)
|
|
@@ -897,8 +904,8 @@ int main(void)
|
|
|
HAL_GPIO_WritePin(con03_uart2_kongzhiqi_GPIO_Port,con03_uart2_kongzhiqi_Pin,GPIO_PIN_RESET);//切换为接收模式
|
|
|
|
|
|
HAL_Delay(2);
|
|
|
- memset(bufMain,0,32);
|
|
|
- spr000=sprintf((char*)bufMain,"sysytem reset...%5d",5);
|
|
|
+ memset(bufMain,0,128);
|
|
|
+ spr000=sprintf((char*)bufMain,"sysytem reset...%5d, watchDogOn=%d, version:%d",5,WatchDogOn,Version_Soft[7]);
|
|
|
//HAL_UART_Transmit(&huart1,bufMain,32,300);
|
|
|
HAL_UART_Transmit(&huart2,bufMain,spr000,300);
|
|
|
//HAL_UART_Transmit(&huart3,bufMain,32,300);
|
|
@@ -2054,9 +2061,9 @@ void StartTask02(void *argument) //卸
|
|
|
i = CMD_XYF[0] - 0x11;
|
|
|
}
|
|
|
pxyf[i].XYF_ErrorCnt++;
|
|
|
- if (pxyf[i].XYF_ErrorCnt > 3)
|
|
|
+ if (pxyf[i].XYF_ErrorCnt > pcang->sensorBusMaxReTry)
|
|
|
{
|
|
|
- pxyf[i].XYF_ErrorCnt = 11;
|
|
|
+ pxyf[i].XYF_ErrorCnt = pcang->sensorBusMaxReTry + 1;
|
|
|
pxyf[i].XYF_Error = 1;
|
|
|
}
|
|
|
}
|
|
@@ -2778,9 +2785,9 @@ void StartTask03(void *argument) //
|
|
|
}
|
|
|
|
|
|
prkg[i].RKDG_ErrorCnt++;
|
|
|
- if (prkg[i].RKDG_ErrorCnt > 3)
|
|
|
+ if (prkg[i].RKDG_ErrorCnt > pcang->sensorBusMaxReTry)
|
|
|
{
|
|
|
- prkg[i].RKDG_ErrorCnt = 11;
|
|
|
+ prkg[i].RKDG_ErrorCnt = pcang->sensorBusMaxReTry + 1;
|
|
|
prkg[i].RKDG_Error = 1;
|
|
|
}
|
|
|
}
|
|
@@ -3035,6 +3042,8 @@ void StartTask04(void *argument) //
|
|
|
case 0x7e: HDF_Reset(ptx); //设置智能海底阀放大倍数
|
|
|
Flash_Change = 1;
|
|
|
break;
|
|
|
+ case 0x80: SetSuccess = RW_SensorBusMaxRetry(ptx); //传感器总线重试最大值来获取异常
|
|
|
+ break;
|
|
|
case 0x017e: TOUCHUAN_UART_NUM(ptx); //设置智能海底阀放大倍数
|
|
|
Flash_Change = 1;
|
|
|
break;
|