소스 검색

1.修复代码合并冲突时的提交错误;

libo 2 년 전
부모
커밋
f66858b5a2
3개의 변경된 파일89개의 추가작업 그리고 15개의 파일을 삭제
  1. 14 5
      Src/CollectMaster485.c
  2. 74 9
      Src/TerminalSlave485.c
  3. 1 1
      Src/freertos.c

+ 14 - 5
Src/CollectMaster485.c

@@ -544,7 +544,7 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 				{	switch(USART2_RX_BUF[4])
 					{
 						case 1://Press expressed volume   竟생  휭생    
-						{	//if(CRC_data==((USART2_RX_BUF[dataLengthIn+4]<<8)+USART2_RX_BUF[dataLengthIn+5]))
+							//if(CRC_data==((USART2_RX_BUF[dataLengthIn+4]<<8)+USART2_RX_BUF[dataLengthIn+5]))
 						//if(CRC_data==CRC_data02)
 							{
 								Stor[0].Volume=((USART2_RX_BUF[5]<<8)|USART2_RX_BUF[6]);
@@ -576,6 +576,7 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 //								
 								
 							}
+							break;
 						case 2://yewei  捻貫
 							
 						  // if(CRC_data==((USART2_RX_BUF[dataLengthIn+4]<<8)+USART2_RX_BUF[dataLengthIn+5]))
@@ -640,7 +641,7 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 							}
 							 
 							
-
+							break;
 						case 3://Temppreture  侊똑   侊똑눈먁포
 
 							//CRC_data=CRC16_MODBUS(USART2_RX_BUF, 16+5);//dataLengthIn
@@ -774,6 +775,7 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 							
 							
 						  
+							break;
 						case 4://허실 실똑 
  
 						
@@ -796,22 +798,29 @@ uint16_t CheckInFrame_Collect485(uint16_t LenRx,uint16_t MsgID)
 	 				
 						
 						
+			if((uni_QingJiao001.flo_Data>300)  || (uni_QingJiao001.flo_Data<-10))
+			{
+			
+			   ;//uni_QingJiao001.flo_Data=0.34;
+			}
 							
-
+							break;
 						case 5://箕제
-
+							Stor[0].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+4);
 							Stor[1].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+8);
 							Stor[2].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+12);
 							Stor[3].Temperature=Switch_Byte4_To_Float(USART2_RX_BUF+16);
 						  uni_GasPressure001.flo_Data=Stor[0].Temperature;
 						
 						
-
+							break;
 						default:
 							break;
 					}
 				}	break;
 				case 0xA3://Write StoreNum
+					Collect485.Write_StorNum=USART2_RX_BUF[4];
+					break;
 				case 0xA4:
 					break;
 				case 0xA5:

+ 74 - 9
Src/TerminalSlave485.c

@@ -86,6 +86,7 @@ sT2C_SealByElec_Fence *pT2C_SealByElec_Fence = &T2C_SealByElec_Fence001;
  
  //============================================================
 sT2C_SetupData T2C_SetupData[8]  =
+{{
    2021,
 	 1,
 	 25,
@@ -885,6 +886,7 @@ int Process_CMD_IAP_Update(void)
 					txLen = sprintf((char *)USART1_TX_BUF,"Rx Error lenRx1=%d crcIAP=%04X crcTerminal=%04X\r\n",lenRx1,crcIAP,crcTerminal);
 				}			
 		
+  		break;
 	case 3:
 			//if(packIndex>2)
 			{//结束帧处理
@@ -1299,6 +1301,12 @@ void Data_analysis(void)
 				data_frame.Frame_addr = MODBUS_ASCII_AsciiToHex(temp_dataFromUsart1+1);
 				//判断地址是否正确
 				if(((data_frame.Frame_addr>=0x47)&&(data_frame.Frame_addr<=0x4e))||
+					(data_frame.Frame_addr==TERMINAL_CONTROL_GET_SENSOR_D1)||
+				(data_frame.Frame_addr==0xA1)||
+				(data_frame.Frame_addr==TERMINAL_CONTROL_GET_SENSOR_D2)||
+				(data_frame.Frame_addr==0x40)||
+				((data_frame.Frame_addr>=0x30)&&(data_frame.Frame_addr<=0x6f))||
+				((data_frame.Frame_addr>=TERMINAL_CONTROL_GET_Store01_ALL_Sensor)&&(data_frame.Frame_addr<=TERMINAL_CONTROL_GET_Whole_Car_Sensor))
 				)
 				{//地址码或者功能码正确合法-----开始
 					Sealing_Data.TerminalOnLineFlag = True;
@@ -2730,9 +2738,63 @@ sT2C_ALL_Sensor_Data_Each_Cang* pT2C_ALL_Sensor_Data0x93;
   }
 
 	
+									memcpy(&USART1_TX_BUF[1],&USART1_RX_BUF[1],4);
+									sprintf((char *)(char*)USART1_TX_BUF+5,"%02X",0x4a);//(16+4*33)/1
 	
 	
-
+									memcpy(&USART1_TX_BUF[1+6],pT2C_ALL_Sensor_Data0x93->FrameHead,16);
+								 
+								  //pT2C_ALL_Sensor_Data0x93->ElecSealState=0x12345678;
+								  //memcpy(&USART1_TX_BUF[17],&T2C_ALL_Sensor_Data01.ElecSealState,4); //17--20
+									
+									//pT2C_ALL_Sensor_Data0x93->ElecSealState=0x1122aacc;//*123.45f;//for test  仅用于测试
+								  uni_0x93.u32Dat=pT2C_ALL_Sensor_Data0x93->ElecSealState;//T2C_ALL_Sensor_Data01.ElecSealState;
+									USART1_TX_BUF[17+0+6]=uni_0x93.array_u8[3];
+									USART1_TX_BUF[17+1+6]=uni_0x93.array_u8[2];
+									USART1_TX_BUF[17+2+6]=uni_0x93.array_u8[1];
+									USART1_TX_BUF[17+3+6]=uni_0x93.array_u8[0];
+								
+								
+								
+									//memcpy(&USART1_TX_BUF[21],&T2C_ALL_Sensor_Data01.IO_Valve_Data_Every_Cang,21*4); //17--20
+								
+									//21个u32转换
+									for(i_0x93=0;i_0x93<21;i_0x93++)
+									{
+										uni_0x93.u32Dat=pT2C_ALL_Sensor_Data0x93->IO_Valve_Data_Every_Cang[i_0x93];
+										USART1_TX_BUF[21+0+i_0x93*4+0+6]=uni_0x93.array_u8[3];
+										USART1_TX_BUF[21+0+i_0x93*4+1+6]=uni_0x93.array_u8[2];
+										USART1_TX_BUF[21+0+i_0x93*4+2+6]=uni_0x93.array_u8[1];
+										USART1_TX_BUF[21+0+i_0x93*4+3+6]=uni_0x93.array_u8[0];
+									
+									}
+								
+								
+								  
+                  //memcpy(&USART1_TX_BUF[21+84],&T2C_ALL_Sensor_Data01.MoniLiang_Data_Every_Cang,11*4); //17--20
+								  
+								 
+								  //11个浮点数转换
+									for(i_0x93=0;i_0x93<11;i_0x93++)
+									{
+										uni_0x93.flo_Data=pT2C_ALL_Sensor_Data0x93->MoniLiang_Data_Every_Cang[i_0x93];
+										USART1_TX_BUF[21+84+i_0x93*4+0+6]=uni_0x93.array_u8[3];
+										USART1_TX_BUF[21+84+i_0x93*4+1+6]=uni_0x93.array_u8[2];
+										USART1_TX_BUF[21+84+i_0x93*4+2+6]=uni_0x93.array_u8[1];
+										USART1_TX_BUF[21+84+i_0x93*4+3+6]=uni_0x93.array_u8[0];
+									
+									}
+								
+								
+								
+									//Lrc_temp = MODBUS_Hex_GetLrc(USART1_TX_BUF+1,148);//154
+									Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,154);//154
+									
+								  //USART1_TX_BUF[149+6]=Lrc_temp;
+									//sprintf((char *)&USART1_TX_BUF[149+6],"%02X",Lrc_temp);
+									sprintf((char *)(char*)USART1_TX_BUF+149+6,"%02X",Lrc_temp);
+								  USART1_TX_BUF[LenthOf_Reply0x93-2]=0x0d;
+								  USART1_TX_BUF[LenthOf_Reply0x93-1]=0x0a;
 }
 
 //数据的应答
@@ -3531,7 +3593,6 @@ uint8_t  temp_buf[137]={0};//
 Return_data * Seal_Tx_Readvalue(uint16_t ID,uint16_t length)//读取电子铅封的应答 0:默认 1:解封 2 :施封 3:破封
 {
 
-
 	static Return_data temp;
 	uint8_t  i,j=0;
 	uint8_t Byte_high,Byte_low;
@@ -4632,6 +4693,7 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 		int i000,i001;
 		//uint8_t TempData;//,TmpValState00,TmpValState01;
 
+  		extern	uint16_t  bufText00[256];
 		extern  uint16_t  bufText01Password[256];
 		extern 	uint32_t FunDebugCode;	
 
@@ -4769,6 +4831,8 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 				//				USART1_TX_BUF[130] = 0x0A;
 								TerminalSlave485_Send_Data(USART1_TX_BUF,128+3);	
 						}
+						else
+						{//按照十六进制的方式回复
 //								Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,64);
 //								//memcpy(USART1_TX_BUF,temp_dataFromUsart1,16*2+1);//前16字节原样返回,共33字符 1表示起始字符英文下的冒号,hex为0x3a
 //								memcpy(USART1_TX_BUF,temp_dataFromUsart1,67+2);// 
@@ -4776,19 +4840,18 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 //								USART1_TX_BUF[68]=0x0A;
 //								TerminalSlave485_Send_Data(USART1_TX_BUF,69);
 //							
- 							
+							
 							//lenRx1
 								memcpy(USART1_TX_BUF,temp_dataFromUsart1,lenRx1+0);// 
 //							  USART1_TX_BUF[67]=0x0D;
 //								USART1_TX_BUF[68]=0x0A;
-							TerminalSlave485_Send_Data(USART1_TX_BUF,lenRx1+0);
+								TerminalSlave485_Send_Data(USART1_TX_BUF,lenRx1+0);
 							
 							
 								/*Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,64);
 								//张毅反应去掉开头的冒号0x3A,去掉结尾的校验2字节、0x0d0a
 								memcpy(USART1_TX_BUF,&temp_dataFromUsart1[1],64);// 
 
-
 								TerminalSlave485_Send_Data(USART1_TX_BUF,64);	*/
 
 								__NOP();
@@ -5026,7 +5089,7 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 				case	ADDR_Sensor_Scan_Param:
  					FM25L16B_Read_N_Bytes(ADDR_Sensor_Scan_Param,T2C_RemoteCaliDat001.PayLoadData,16);
 					T2C_RemoteCaliDat001.NumberOfRegs = 16; 
-
+      		break;	
 				default:
 
 					//memset(&USART1_TX_BUF[33], '=', sizeof(USART1_TX_BUF) - 33);
@@ -5174,6 +5237,7 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					T2C_RemoteCaliDat001.NumberOfRegs=32;			
       				break;
 				case	ADDR_Zero_Of_TankCapacity://兼容8仓	罐容Vt零点
+ 					FM25L16B_Write_N_Bytes(ADDR_Zero_Of_TankCapacity,T2C_RemoteCaliDat001.PayLoadData,32); 
 					//解析8个浮点数数据
 					for(i001=0;i001<8;i001++)
 					{
@@ -5190,9 +5254,9 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					//数据回读
 					FM25L16B_Read_N_Bytes(ADDR_Zero_Of_LiquidMeter,T2C_RemoteCaliDat001.PayLoadData,32);
 			 		T2C_RemoteCaliDat001.NumberOfRegs=32;			
-
+					break;
 				case	ADDR_ManHoLe_Number://人孔盖卸油阀数量
-
+					
 					//解析8个浮点数数据
 					for(i001=0;i001<8;i001++)
 					{
@@ -5263,6 +5327,7 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					FM25L16B_Read_N_Bytes(ADDR_Foot_info,T2C_RemoteCaliDat001.PayLoadData+4,1);
 					T2C_RemoteCaliDat001.NumberOfRegs = 5;
  			
+      		break;
 					
 				case	ADDR_Enable_ReSeal://是否允许重复施封 断电保存 
           //解析8个浮点数数据----合法的取值只有两种0,1
@@ -5368,7 +5433,6 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 				  memcpy(&time_Set_Dwin[8],T2C_RemoteCaliDat001.PayLoadData,6);
 				  ScreenMaster485_Send_Data(time_Set_Dwin,14);
 					//memcpy(TimeBuf+1,T2C_RemoteCaliDat001.PayLoadData,6);
-
 #if 	1				
 					uint8_t times_buf[32];
 					memset(times_buf, 0x00,sizeof(times_buf));
@@ -5499,6 +5563,7 @@ int 	Process_CMD_0x39_RemoteCali(uint8_t dataMode)
 					}
 					FM25L16B_Write_N_Bytes(ADDR_USART1_RE_TIMEOUT, T2C_RemoteCaliDat001.PayLoadData, 4);
 					T2C_RemoteCaliDat001.NumberOfRegs = 4;
+					break;
 				case ADDR_DISP_VT_TYPE:
 					vt_disp_type = T2C_RemoteCaliDat001.PayLoadData[0];
 					FM25L16B_Write_N_Bytes(ADDR_DISP_VT_TYPE, T2C_RemoteCaliDat001.PayLoadData, 1);

+ 1 - 1
Src/freertos.c

@@ -1036,8 +1036,8 @@ void fram_time_write(SDateTime datetime)
 void Task_GetCPU_Usage(void const *argument)
 {
 	/* USER CODE BEGIN Task_GetCPU_Usage */
-	char min=0xff;
 	char hour=0xff;
+	char min=0xff;
 	int count;
 	int i_task01;
 	EventBits_t uxBits;