Browse Source

【V2.3.0.45】 修复了故障数组超限的bug

CHENJIE-PC\QiXiang_CHENJIE 3 years ago
parent
commit
ed9eb25925
6 changed files with 25 additions and 23 deletions
  1. 3 1
      inc/Signal.h
  2. 1 1
      inc/app.h
  3. 1 1
      src/MainTask.c
  4. 1 1
      src/Signal.c
  5. 1 1
      src/TcpTask.c
  6. 18 18
      src/UartTask.c

+ 3 - 1
inc/Signal.h

@@ -1,6 +1,8 @@
 
 #include "commontypedef.h"
 #include "cmsis_os2.h"
+
+#define ErrorNumLen         5
 extern	UINT16	COMOutTable[29];
 //declear the UINT8 vars
 extern	UINT8	battCellTemp[8];
@@ -51,7 +53,7 @@ extern  UINT32  battProtectState;
 
 
 
-extern UINT16   ErrorNum[5];//故障代码
+extern UINT16   ErrorNum[ErrorNumLen];//故障代码
 extern UINT8 	TcpSendLen;
 
 extern osMutexId_t Error_Mutex;

+ 1 - 1
inc/app.h

@@ -51,7 +51,7 @@ extern "C" {
 #define	BLSWVERSION		0x01020000    //BootLoader版本号V1.2.0.0
 #define	DRVSWVERSION		0x01050000     //驱动层版本号V1.4.0.0  驱动层1.5.0.0,增加了三轴
 //#define	APPSWVERSION		0x01020209     
-#define	APPSWVERSION		0x0203002C
+#define	APPSWVERSION		0x0203002D
 // #define	APPSWVERSION		0x02030000
 //#define	APPSWVERSION		0x0201000E
 //--------------------------------------------------------------------------------

+ 1 - 1
src/MainTask.c

@@ -223,7 +223,7 @@ static void MainTask(void* arg)
                         if(osOK==osMutexAcquire(Error_Mutex, 100))
                         {
                             UINT8 ErrorNumTemp = AppDataInfo.ErrorMsg;
-                            PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+                            PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
                         }
                         osMutexRelease(Error_Mutex);
                     }

+ 1 - 1
src/Signal.c

@@ -81,7 +81,7 @@ UINT32  battProtectState =0x00;
 //Tcp
 UINT8 	TcpSendLen = 0;
 
-UINT16 ErrorNum[5]={0};
+UINT16 ErrorNum[ErrorNumLen]={0};
 
 osMutexId_t Error_Mutex = NULL;
 INT16  Data_Current = 0;

+ 1 - 1
src/TcpTask.c

@@ -338,7 +338,7 @@ static void TcpDataInfoAssembleSend()
         if(osOK==osMutexAcquire(Error_Mutex, 100))
         {   
             UINT16 ErrorTemp=0x00;
-            ErrorTemp = GetErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum));
+            ErrorTemp = GetErrorNum((UINT16 *)ErrorNum,ErrorNumLen);
             #ifdef USING_PRINTF1
                 printf("Temp-Error:%d\n",ErrorTemp);
             #endif

+ 18 - 18
src/UartTask.c

@@ -297,7 +297,7 @@ static void UartTask(void* arg)
 					if(osOK==osMutexAcquire(Error_Mutex, 100))
 					{
 						UINT8 ErrorNumTemp = 33;
-						PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+						PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 					}
 					osMutexRelease(Error_Mutex);
 					UartErrorCounter = 5;
@@ -3024,7 +3024,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 7;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在电芯过放告警故障!!\n";单体电压过低
 			}
 
@@ -3032,7 +3032,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 10;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在总电压过放告警故障!!\n";总电压过低
 			}
 
@@ -3040,7 +3040,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 8;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在电芯过压告警故障!!\n";
 			}
 
@@ -3048,7 +3048,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 11;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在总电压过压告警故障!!\n";
 			}
 
@@ -3056,7 +3056,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 12;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在放电过流告警故障!!\n";
 			}
 
@@ -3064,7 +3064,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 13;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在充电过流告警故障!!\n";
 			}
 
@@ -3072,7 +3072,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 2;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在放电过温告警故障!!\n";
 			}
 
@@ -3080,7 +3080,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 2;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在充电过温告警故障!!\n";
 			}
 
@@ -3100,7 +3100,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 27;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在battSOC低告警故障!!\n";
 			}
 
@@ -3108,7 +3108,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 3;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在MOS高温告警故障!!\n";
 			}
 
@@ -3116,7 +3116,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 18;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在温度采集失效/传感器故障!!\n";
 			}
 
@@ -3124,7 +3124,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 19;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在电压采集失效/断线故障!!\n";
 			}
 
@@ -3132,7 +3132,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 17;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在放电MOS失效故障!!\n";
 			}
 
@@ -3140,7 +3140,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 16;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在充电MOS失效故障!!\n";
 			}
 
@@ -3155,7 +3155,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 				{
 					ErrorNumTemp = 0;
 				}
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在电芯不均衡告警!!\n";
 			}
 
@@ -3163,7 +3163,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 1;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在放电低温告警故障!!\n";
 			}
 
@@ -3171,7 +3171,7 @@ UINT8 BmsErrorDecode(UINT32 battWarningState)
 			if (ret)
 			{
 				ErrorNumTemp = 1;
-				PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
+				PutErrorNum((UINT16 *)ErrorNum,ErrorNumLen,ErrorNumTemp);
 				//str += "ERROR:存在充电低温告警故障!!\n";
 			}
 		}