Pārlūkot izejas kodu

【V3.1.0.41】1.针对保护板放电发送0x55,做UART优化

CHENJIE-PC\QiXiang_CHENJIE 3 gadi atpakaļ
vecāks
revīzija
389bbdc325
2 mainītis faili ar 12 papildinājumiem un 11 dzēšanām
  1. 2 2
      inc/AppConfig.h
  2. 10 9
      src/AppTaskUart.c

+ 2 - 2
inc/AppConfig.h

@@ -2,7 +2,7 @@
  * @Author       : ChenJie
  * @Date         : 2021-10-14 09:27:15
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-11-12 16:38:44
+ * @LastEditTime : 2021-11-15 11:56:13
  * @Description  : App Config H file 配置文件,可以针对不同参数进行更改
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\inc\AppConfig.h
  */
@@ -14,7 +14,7 @@
 #define DATA_MODULE_TYPE (1)           //1表示NB模块,2表示4G cat1
 #define EOLSTATE (0)                   //1表示下线检测跳过,使用默认值,0表示使用下线检测
 #define DEFAULT_SN "RLTEST00000000001" //默认上传的SN编码
-#define APPSWVERSION 0x03010028        //数据模块软件版本号
+#define APPSWVERSION 0x03010029        //数据模块软件版本号
 #define RELAYCONFIG 1                  //继电器配置
 #define TCP_ADD "iotp.fast-fun.cn"     //数据上传的地址
 #define TCP_PORT 8712                  //数据上传的端口

+ 10 - 9
src/AppTaskUart.c

@@ -2,7 +2,7 @@
  * @Author       : ChenJie
  * @Date         : 2021-10-14 09:27:15
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-11-12 15:51:39
+ * @LastEditTime : 2021-11-15 11:52:28
  * @Description  : file content
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\src\AppTaskUart.c
  */
@@ -36,6 +36,8 @@ static void UartTask(void *arg)
 	UartWriteData_S UartWriteDataHandleRecv;
 	PROC_UART_STATE_SWITCH(PROCESS_UART_STATE_INTI);
 	UINT8 ret = 0x00;
+	UINT8 EncryptFlag = 0x00;
+	UINT8 EncryptCount = 0;
 	if (UartWriteCmdHandle == NULL) //Uart控制命令传输指针
 	{
 		UartWriteCmdHandle = osMessageQueueNew(1, sizeof(UartWriteData_S), NULL);
@@ -59,14 +61,13 @@ static void UartTask(void *arg)
 		}
 		case PROCESS_UART_STATE_ENCRYPT:
 		{
-			UINT8 EncryptFlag = 0x00;
-			UINT8 EncryptCount = 0;
+
 			while (EncryptFlag != 0x01 && EncryptCount <= 3)
 			{
 				EncryptFlag = Uart_Encrypt_Send();
 				EncryptCount++;
 			}
-#ifdef USING_PRINTF
+#ifdef USING_PRINTF1
 			printf("EncryptFlag:%d\n", EncryptFlag);
 #endif
 			if (EncryptFlag == 0x01)
@@ -90,7 +91,7 @@ static void UartTask(void *arg)
 
 			if (TimeCounter % 10 == 0 && gProcess_app == WORK)
 			{
-				ECOMM_TRACE(UNILOG_PLA_APP, UartAppTask_83, P_SIG, 0, "Uart work begin:%02x", PadInterrupt);
+				//ECOMM_TRACE(UNILOG_PLA_APP, UartAppTask_83, P_SIG, 0, "Uart work begin:%02x", PadInterrupt);
 				memset(&(UartWriteDataHandleRecv), 0x00, sizeof(UartWriteDataHandleRecv));
 				if (osMessageQueueGet(UartWriteCmdHandle, &UartWriteDataHandleRecv, 0, 10) == osOK && UartRecvFlag == 1)
 				{
@@ -156,14 +157,14 @@ static void UartTask(void *arg)
 			else if (Uart_Recv_LEN == 1) //接收的数据校验不过
 			{
 				UartRecvFlag = 0;
-				UartRecvFlagCounter++;
+				//UartRecvFlagCounter++;
 			}
 			else //没有接收到数据
 			{
 				UartRecvFlag = 0;
 				UartRecvFlagCounter++;
 			}
-			if (UartRecvFlagCounter >= 10)
+			if (UartRecvFlagCounter >= 15)
 			{
 				UartRecvFlagCounter = 0;
 				uartBattInfoDecode(UartAnswerData.data);
@@ -458,7 +459,7 @@ UINT8 UartAppTrasmit(UINT8 *pSend, UINT32 sendLen, UINT8 *pRead, UINT32 readLen,
 					9600U};
 				HAL_UART_ResetUartSetting(PORT_USART_1, &hwConfig, TRUE);
 				memset(pRead, 0x00, readLen);
-				return 0;
+				return 1;
 			}
 #ifdef USING_PRINTF1
 			printf("Uart recv:%d-%d\n", UartData.len, readLen);
@@ -478,7 +479,7 @@ UINT8 UartAppTrasmit(UINT8 *pSend, UINT32 sendLen, UINT8 *pRead, UINT32 readLen,
 	}
 	else
 	{
-		return 1;
+		return 3;
 	}
 }
 UINT8 Uart_Encrypt_Send()