瀏覽代碼

* 与采集板间的通讯波特率由38400调整为器件的标定值19200
* 原与采集板通信的每个周期内会有多次相同的读取传感器状态的命令,现优化成一次即可。
* 原与采集板每组通信命令序列完成后会休眠的20ms,优化至100ms,缓解下总线上的通信时序的紧张
* [核心改动] 向采集板485芯片发送使能IO口的建立保持时间没有明确延时,故现加上2ms的延时使得数据建立保持的时间以充分。#关系到通信物理链路上的误码的产生
* v20220809-4

以上改动,作用于最近几天的高温通讯异常的攻关实验

xuy 3 年之前
父節點
當前提交
00f6899649
共有 5 個文件被更改,包括 5 次插入20 次删除
  1. 1 1
      Inc/KeySlave485.h
  2. 1 0
      Src/CollectMaster485.c
  3. 1 1
      Src/KeySlave485.c
  4. 1 17
      Src/freertos.c
  5. 1 1
      Src/usart.c

+ 1 - 1
Inc/KeySlave485.h

@@ -45,7 +45,7 @@
 
 #define New236Byte_En_0x1121   					0   //新增的236字节传输1-4仓、5-8仓协议
 #define New150Byte_En_0x1193   					1   //新增的150字节传输每仓所有传感器的协议,一帧数据中传输每仓铅封、IO、模拟量数据
-#define New64Byte_En_0x0013   					1   //阀门状态或运算之后进行传输
+#define New64Byte_En_0x0013   					0   //阀门状态或运算之后进行传输
 #define New80Byte_En_0x119B   					1   //新增的传输整车传感器,倾角、备电、等
 
 

+ 1 - 0
Src/CollectMaster485.c

@@ -161,6 +161,7 @@ void CollectMaster485_Send_Data(uint8_t *buf,uint16_t len)
 	if(retry>=50)
 		return;
 	CollectMaster485_TX_Set(1);			//ÉèÖÃΪ·¢ËÍģʽ
+	HAL_Delay(2);
 	if(len>1024)
 		len=1024;
 	memcpy(uart2_buf,buf,len);

+ 1 - 1
Src/KeySlave485.c

@@ -37,7 +37,7 @@ uint8_t product_code[20] = "JL-SIMS-CJ-V2.1";				 //
 uint8_t product_ID[20] = "20210730001";						 //产品ID
 
 char Version_software[30] = "KZB09A0_20220210_Temp1";
-uint32_t Version_Soft[8] = {2,2,3,13,1,1,0,20220425};
+uint32_t Version_Soft[8] = {2,2,3,4,1,1,0,20220809};
 
 uint8_t flag_exitReset = 0;	 //终止复位命令
 uint8_t flag_Uart4_Busy = 0; //表明打印机占用了总线,暂停语音播报

+ 1 - 17
Src/freertos.c

@@ -578,24 +578,8 @@ void Task_Usart2_Collector(void const *argument)
 			//DS1302_get_all();
 		}
 
-		//if(1==10)
-		if (En_XieYouFa_OverSample && (tmrForRemoteCali == 0))
-		{ ///针对0x13数据帧特殊处理  解决加油站采样1L左右的油品不破封的问题---开始
-			//按照老的格式读取之前的阀门状态----多个阀门状态或运算之后进行铅封业务运算
-			ReadCollect_ValveState_64Byte(0x000003, Collector_Get_Valve_OldFormat, 0x0002, 0x0000, 0x0000);
-			//HAL_GPIO_TogglePin(GPIOC, DWI_Pin); //复位看门狗sp706
-			//HAL_Delay(SPAN_ControllerAndCollector_INTERVAL);
-			//osDelay(SPAN_ControllerAndCollector_INTERVAL_100);
-			xEventGroupSetBits(xCreatedEventGroup, TASK_BIT_1);
-			Parse_0x0013_Data();
-
-			Test_get_state(); //
-
-			Break_Seal(); //破封检测  Elect_cover();////电子铅封系统处理
-
-		} ///针对0x13数据帧特殊处理  解决加油站采样1L左右的油品不破封的问题---结束
 		xEventGroupSetBits(xCreatedEventGroup, TASK_BIT_1);
-		osDelay(20); //阻塞时间
+		osDelay(100); //阻塞时间
 	}
 	/* USER CODE END Task_Usart2_Collector */
 }

+ 1 - 1
Src/usart.c

@@ -146,7 +146,7 @@ void MX_USART2_UART_Init(void)
 {
 
   huart2.Instance = USART2;
-  huart2.Init.BaudRate = 38400;//19200;
+  huart2.Init.BaudRate = 19200;//19200;
   huart2.Init.WordLength = UART_WORDLENGTH_8B;
   huart2.Init.StopBits = UART_STOPBITS_1;
   huart2.Init.Parity = UART_PARITY_NONE;