|
@@ -84,7 +84,8 @@ sT2C_SealByElec_Fence *pT2C_SealByElec_Fence = &T2C_SealByElec_Fence001;
|
|
|
|
|
|
//============================================================
|
|
|
sT2C_SetupData T2C_SetupData[8] =
|
|
|
-{{
|
|
|
+{
|
|
|
+{
|
|
|
2021,
|
|
|
1,
|
|
|
25,
|
|
@@ -494,6 +495,9 @@ uint32_t Read_update_sum =0;
|
|
|
//Data_frame data_frame,Tx_data_frame;
|
|
|
Data_frame_TypeDef data_frame,Tx_data_frame;
|
|
|
|
|
|
+int32_t WholeCarData(uint8_t *buf);
|
|
|
+int32_t StoreData(uint8_t *buf,int storeNo);
|
|
|
+
|
|
|
void Reboot_System()
|
|
|
{
|
|
|
__set_FAULTMASK(1);
|
|
@@ -509,7 +513,7 @@ void Reboot_System()
|
|
|
int Flash_MD5_Check(uint32_t addr,uint32_t len)
|
|
|
{
|
|
|
unsigned char digest[16];
|
|
|
- unsigned char *md5_ptr=(unsigned char *)(StartMode_Addr+72);
|
|
|
+// unsigned char *md5_ptr=(unsigned char *)(StartMode_Addr+72);
|
|
|
unsigned int i,update_len;
|
|
|
MD5_CTX md5c;
|
|
|
MD5Init(&md5c);
|
|
@@ -706,14 +710,14 @@ uint8_t ERR_Arr[8]="error";
|
|
|
uint8_t upgrade_type=0;
|
|
|
|
|
|
extern void Set_Update_Down(void);
|
|
|
-int AsciitoHexF3(char *buf,int len)
|
|
|
+int AsciitoHexF3(uint8_t *buf,int len)
|
|
|
{
|
|
|
int i;
|
|
|
uint8_t Lrc_temp;
|
|
|
FileBuffArray[0]=':';
|
|
|
for(i=0;i<len;++i)
|
|
|
{
|
|
|
- sprintf(FileBuffArray+1+2*i,"%02X",buf[i]);
|
|
|
+ sprintf((char *)FileBuffArray+1+2*i,"%02X",buf[i]);
|
|
|
}
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(FileBuffArray + 1, len * 2);
|
|
|
sprintf((char *)(&FileBuffArray[1 + len * 2]), "%02X", Lrc_temp);
|
|
@@ -784,7 +788,7 @@ int Process_CMD_IAP_Update(void)
|
|
|
|
|
|
if(crcIAP==crcTerminal)
|
|
|
{
|
|
|
- if(strstr(USART1_RX_BUF+9,"kzb")==NULL)
|
|
|
+ if(strstr((char *)USART1_RX_BUF+9,"kzb")==NULL)
|
|
|
{
|
|
|
upgrade_type=2;
|
|
|
return upgrade_type;
|
|
@@ -809,17 +813,18 @@ int Process_CMD_IAP_Update(void)
|
|
|
}
|
|
|
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_2);//看门狗sp706
|
|
|
|
|
|
- txLen = sprintf(USART1_TX_BUF,"file=%d\r\n",packIndexbak);
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"file=%d\r\n",packIndexbak);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF,"%s",ERR_Arr);
|
|
|
+ sprintf((char *)USART1_TX_BUF,"%s",ERR_Arr);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 0x02://有效载荷帧数据处理
|
|
|
- crcIAP=CRC16_MODBUS(&USART1_RX_BUF[4], lenRx1-10);//
|
|
|
+ {
|
|
|
+ crcIAP=CRC16_MODBUS(&USART1_RX_BUF[4], lenRx1-10);//
|
|
|
|
|
|
crcTerminal=(USART1_RX_BUF[lenRx1-5]<<8) +USART1_RX_BUF[lenRx1-6];
|
|
|
if(crcIAP==crcTerminal && upgrade_type==2)
|
|
@@ -850,22 +855,22 @@ int Process_CMD_IAP_Update(void)
|
|
|
if((packIndexbak+1)==packIndex)
|
|
|
AddrToWrite += lenRx1-15;
|
|
|
packIndexbak=packIndex;
|
|
|
- txLen = sprintf(USART1_TX_BUF,"%s=%d\r\n",ACK_Arr,packIndex);
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"%s=%d\r\n",ACK_Arr,packIndex);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
DataReadFlash=*((__IO uint32_t*)(StartMode_Addr));
|
|
|
- txLen = sprintf(USART1_TX_BUF,"%s=%d\r\n",ERR_Arr,packIndex);
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"%s=%d\r\n",ERR_Arr,packIndex);
|
|
|
Erase_page(StartMode_Addr, 128);
|
|
|
WriteFlash2(StartMode_Addr,&DataReadFlash,1);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- txLen = sprintf(USART1_TX_BUF,"Rx Error lenRx1=%d crcIAP=%04X crcTerminal=%04X\r\n",lenRx1,crcIAP,crcTerminal);
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"Rx Error lenRx1=%d crcIAP=%04X crcTerminal=%04X\r\n",lenRx1,crcIAP,crcTerminal);
|
|
|
}
|
|
|
|
|
|
- break;
|
|
|
+ } break;
|
|
|
case 3:
|
|
|
//if(packIndex>2)
|
|
|
{//结束帧处理
|
|
@@ -880,7 +885,7 @@ int Process_CMD_IAP_Update(void)
|
|
|
{
|
|
|
return upgrade_type;
|
|
|
}
|
|
|
- txLen = sprintf(USART1_TX_BUF,"%s\r\n",ACK_Arr);
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"%s\r\n",ACK_Arr);
|
|
|
if(f3_flag)
|
|
|
txLen = AsciitoHexF3(USART1_TX_BUF, txLen);
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF, txLen);
|
|
@@ -893,22 +898,22 @@ int Process_CMD_IAP_Update(void)
|
|
|
|
|
|
if(Flash_MD5_Check(ADDR_FLASH_SECTOR_7,all_len)==0)
|
|
|
{
|
|
|
- txLen = sprintf(USART1_TX_BUF,"md5 check=error\r\n");
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"md5 check=error\r\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if(strcmp(custurm_code,(const char*)Application_Buffer_Addr+5120))
|
|
|
{
|
|
|
- txLen = sprintf(USART1_TX_BUF,"Product=error\r\n");
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"Product=error\r\n");
|
|
|
}
|
|
|
else if((*(unsigned int*)(Application_Buffer_Addr+6144)!=Application_2_Addr) && (*(unsigned int*)(Application_Buffer_Addr+4)&0xffff0000 != Application_2_Addr))
|
|
|
{
|
|
|
- txLen = sprintf(USART1_TX_BUF,"Link addr=error\r\n");
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"Link addr=error\r\n");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Set_Update_Down();//设定标志位 下次启动时进行程序拷贝
|
|
|
- txLen = sprintf(USART1_TX_BUF,"md5 check=ok\r\n");
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"md5 check=ok\r\n");
|
|
|
should_reboot=1;
|
|
|
}
|
|
|
}
|
|
@@ -916,7 +921,7 @@ int Process_CMD_IAP_Update(void)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- txLen = sprintf(USART1_TX_BUF,"%s\r\n",ERR_Arr);
|
|
|
+ txLen = sprintf((char *)USART1_TX_BUF,"%s\r\n",ERR_Arr);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -957,11 +962,11 @@ void Send_A1_Cmd(unsigned char scrAddr, unsigned char funCode, unsigned char scr
|
|
|
int i,j;
|
|
|
unsigned char temp_i = 0x00;
|
|
|
USART1_TX_BUF[send_pos++]=':';
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",0xA1);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",0xA1);
|
|
|
send_pos+=2;
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",0x04);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",0x04);
|
|
|
send_pos+=2;
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",120);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",120);
|
|
|
send_pos+=2;
|
|
|
if(StoreNumber>0)
|
|
|
{
|
|
@@ -1009,63 +1014,63 @@ void Send_A1_Cmd(unsigned char scrAddr, unsigned char funCode, unsigned char scr
|
|
|
emergy=0x80;
|
|
|
}
|
|
|
overflow_flag_bak=overflow_flag;
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",emergy);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",emergy);
|
|
|
send_pos+=2;
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",StoreNumber);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",StoreNumber);
|
|
|
send_pos+=2;
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",0x22);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",0x22);
|
|
|
send_pos+=2;
|
|
|
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",overflow_flag);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",overflow_flag);
|
|
|
send_pos+=2;
|
|
|
if((Config_info_all.ManHole_Big_info>0) && (Config_info_all.ManHole_Big_info<8))
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",0x72);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",0x72);
|
|
|
send_pos+=2;
|
|
|
for (i = 0; i < StoreNumber; i++)
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",Config_info_all.ManHole_Big_info/StoreNumber);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",Config_info_all.ManHole_Big_info/StoreNumber);
|
|
|
send_pos+=2;
|
|
|
for(j=0;j<Config_info_all.ManHole_Big_info/StoreNumber;++j)
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",Cang_IO_tbak[i][indexDaGai01+10*j]);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",Cang_IO_tbak[i][indexDaGai01+10*j]);
|
|
|
send_pos+=2;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if((Config_info_all.Dump_info>0) && (Config_info_all.Dump_info<8))
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",0x71);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",0x71);
|
|
|
send_pos+=2;
|
|
|
for (i = 0; i < StoreNumber; i++)
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",Config_info_all.Dump_info/StoreNumber);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",Config_info_all.Dump_info/StoreNumber);
|
|
|
send_pos+=2;
|
|
|
for(j=0;j<Config_info_all.Dump_info/StoreNumber;++j)
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",Cang_IO_tbak[i][indexXieYouFa01+10*j]);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",Cang_IO_tbak[i][indexXieYouFa01+10*j]);
|
|
|
send_pos+=2;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if((Config_info_all.HaiDiFa_info>0) && (Config_info_all.HaiDiFa_info<8))
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",0x64);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",0x64);
|
|
|
send_pos+=2;
|
|
|
for (i = 0; i < StoreNumber; i++)
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",Config_info_all.HaiDiFa_info/StoreNumber);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",Config_info_all.HaiDiFa_info/StoreNumber);
|
|
|
send_pos+=2;
|
|
|
for(j=0;j<Config_info_all.HaiDiFa_info/StoreNumber;++j)
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",Cang_IO_tbak[i][indexHaiDiFa01+10*j]);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",Cang_IO_tbak[i][indexHaiDiFa01+10*j]);
|
|
|
send_pos+=2;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
while (send_pos<(120*2+7))
|
|
|
{
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",0);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",0);
|
|
|
send_pos+=2;
|
|
|
}
|
|
|
//**********************************************
|
|
@@ -1075,7 +1080,7 @@ void Send_A1_Cmd(unsigned char scrAddr, unsigned char funCode, unsigned char scr
|
|
|
scrLength = 0x3C;
|
|
|
}
|
|
|
temp_i = scrLength<<1;
|
|
|
- //sprintf(USART1_TX_BUF+5,"%02X",temp_i);
|
|
|
+ //sprintf((char *)USART1_TX_BUF+5,"%02X",temp_i);
|
|
|
USART1_TX_BUF[5] = (temp_i>>4) + '0';
|
|
|
if('9' < USART1_TX_BUF[5])
|
|
|
{
|
|
@@ -1090,7 +1095,7 @@ void Send_A1_Cmd(unsigned char scrAddr, unsigned char funCode, unsigned char scr
|
|
|
temp_i <<= 1;
|
|
|
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1, temp_i + 6);
|
|
|
- sprintf(USART1_TX_BUF + temp_i + 7, "%02X", Lrc_temp);
|
|
|
+ sprintf((char *)USART1_TX_BUF + temp_i + 7, "%02X", Lrc_temp);
|
|
|
USART1_TX_BUF[temp_i + 9] = 0x0D;
|
|
|
USART1_TX_BUF[temp_i + 10] = 0x0A;
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF, temp_i + 11);
|
|
@@ -1098,7 +1103,7 @@ void Send_A1_Cmd(unsigned char scrAddr, unsigned char funCode, unsigned char scr
|
|
|
//***********************************************
|
|
|
/*
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,send_pos-1);
|
|
|
- sprintf(USART1_TX_BUF+send_pos,"%02X",Lrc_temp);
|
|
|
+ sprintf((char *)USART1_TX_BUF+send_pos,"%02X",Lrc_temp);
|
|
|
send_pos += 2;
|
|
|
USART1_TX_BUF[send_pos++] =0x0D;
|
|
|
USART1_TX_BUF[send_pos++] = 0x0A;
|
|
@@ -1112,7 +1117,8 @@ void Send_A1_Cmd(unsigned char scrAddr, unsigned char funCode, unsigned char scr
|
|
|
//uint32_t re_count=0;
|
|
|
void Data_analysis(void)
|
|
|
{
|
|
|
- uint32_t startBytes=0x00000000,tmpU32,update_flag;
|
|
|
+// uint32_t startBytes=0x00000000;
|
|
|
+ uint32_t tmpU32,update_flag;
|
|
|
if(usart1_rx_flag==1)//接收完成
|
|
|
{
|
|
|
//data_count++;
|
|
@@ -2318,7 +2324,7 @@ int32_t Assamble_Frame(uint8_t *buf)
|
|
|
frame_buf->Time[4] = m_datetime.min;
|
|
|
frame_buf->Time[5] = m_datetime.sec;
|
|
|
memset(frame_buf->Frame_Head,0,16);
|
|
|
- len = WholeCarData(frame_buf->Data);
|
|
|
+ len = WholeCarData((uint8_t *)frame_buf->Data);
|
|
|
for(storeNo=0;storeNo<StoreNumber;++storeNo)
|
|
|
{
|
|
|
lenstore = StoreData(frame_buf->Data+len,storeNo);
|
|
@@ -2352,7 +2358,8 @@ storeNo:
|
|
|
int32_t StoreData(uint8_t *buf,int storeNo)
|
|
|
{
|
|
|
int32_t ret=0;
|
|
|
- int ptr,i;
|
|
|
+ //int ptr;
|
|
|
+ int i;
|
|
|
sT2C_ALL_Sensor_Data_Each_Cang *p_Sensor[8] = {&T2C_ALL_Sensor_Data01,&T2C_ALL_Sensor_Data02,
|
|
|
&T2C_ALL_Sensor_Data03,&T2C_ALL_Sensor_Data04,
|
|
|
&T2C_ALL_Sensor_Data05,&T2C_ALL_Sensor_Data06,
|
|
@@ -2428,7 +2435,7 @@ void FormatWholeCarData(void)
|
|
|
pT2C_ALL_Sensor_Data0x9b=&T2C_ALL_Sensor_WholeCar01;
|
|
|
|
|
|
memcpy(&USART1_TX_BUF[1],&USART1_RX_BUF[1],4);
|
|
|
- sprintf((char*)USART1_TX_BUF+5,"%02X",0x4a);//(16+4*33)/1
|
|
|
+ sprintf((char *)(char*)USART1_TX_BUF+5,"%02X",0x4a);//(16+4*33)/1
|
|
|
|
|
|
memcpy(&USART1_TX_BUF[1+6],pT2C_ALL_Sensor_Data0x9b->FrameHead,16);
|
|
|
|
|
@@ -2699,7 +2706,7 @@ sT2C_ALL_Sensor_Data_Each_Cang* pT2C_ALL_Sensor_Data0x93;
|
|
|
|
|
|
|
|
|
memcpy(&USART1_TX_BUF[1],&USART1_RX_BUF[1],4);
|
|
|
- sprintf((char*)USART1_TX_BUF+5,"%02X",0x4a);//(16+4*33)/1
|
|
|
+ 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);
|
|
@@ -2751,8 +2758,8 @@ sT2C_ALL_Sensor_Data_Each_Cang* pT2C_ALL_Sensor_Data0x93;
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,154);//154
|
|
|
|
|
|
//USART1_TX_BUF[149+6]=Lrc_temp;
|
|
|
- //sprintf(&USART1_TX_BUF[149+6],"%02X",Lrc_temp);
|
|
|
- sprintf((char*)USART1_TX_BUF+149+6,"%02X",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;
|
|
|
}
|
|
@@ -3518,7 +3525,7 @@ Return_data * IO_Tx_Readvalue(uint16_t ID,uint16_t length)//
|
|
|
for(i=0;i<32;i++)
|
|
|
{//0x91查询阀门状态指令 将二进制数据转换为ASCII
|
|
|
|
|
|
- sprintf((char*)(temp_buf_Tx_Read+8+i*2),"%02X",Array_Of_Valve[i]);
|
|
|
+ sprintf((char *)(char*)(temp_buf_Tx_Read+8+i*2),"%02X",Array_Of_Valve[i]);
|
|
|
|
|
|
}
|
|
|
#endif
|
|
@@ -4762,10 +4769,10 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
for(i000=0;i000<rx2_len;i000++)
|
|
|
{
|
|
|
- sprintf((char*)&USART1_TX_BUF[1+i000*2],"%02X",USART2_RX_BUF[i000]);
|
|
|
+ sprintf((char *)(char*)&USART1_TX_BUF[1+i000*2],"%02X",USART2_RX_BUF[i000]);
|
|
|
}
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,rx2_len*2);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[rx2_len*2+1]),"%02X",Lrc_temp);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[rx2_len*2+1]),"%02X",Lrc_temp);
|
|
|
USART1_TX_BUF[rx2_len*2+3]=0x0d;
|
|
|
USART1_TX_BUF[rx2_len*2+4]=0x0a;
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF,rx2_len*2+5);
|
|
@@ -4782,13 +4789,13 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
//memset(&USART1_TX_BUF[33],'A',sizeof(USART1_TX_BUF)-33);
|
|
|
|
|
|
//MODBUS_S8_to_ASCII(Lrc_temp,USART1_TX_BUF+Tx_data_frame.Frame_length+7);//56
|
|
|
- //sprintf((char*)(&USART1_TX_BUF[128]),"%02X",Lrc_temp);
|
|
|
+ //sprintf((char *)(char*)(&USART1_TX_BUF[128]),"%02X",Lrc_temp);
|
|
|
// USART1_TX_BUF[129] =0x0D;
|
|
|
// USART1_TX_BUF[130] = 0x0A;
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF,128+3);
|
|
|
}
|
|
|
- else
|
|
|
- {//按照十六进制的方式回复
|
|
|
+ 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);//
|
|
@@ -4796,24 +4803,24 @@ 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);//
|
|
|
+
|
|
|
+ //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);
|
|
|
-
|
|
|
-
|
|
|
- /*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();
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
+ 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();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
//memset(temp_dataFromUsart1,0,sizeof(temp_dataFromUsart1));//清零
|
|
@@ -4925,9 +4932,9 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
memcpy(USART1_TX_BUF,temp_dataFromUsart1,16*2+1);//前16字节原样返回,共33字符 1表示起始字符英文下的冒号,hex为0x3a
|
|
|
memset(&USART1_TX_BUF[33],'=',sizeof(USART1_TX_BUF)-33);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33]),"System will reboot... %5d",cmd39Cnt);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33]),"System will reboot... %5d",cmd39Cnt);
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,64);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[65]),"%02X",Lrc_temp);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[65]),"%02X",Lrc_temp);
|
|
|
USART1_TX_BUF[67] =0x0D;
|
|
|
USART1_TX_BUF[68] = 0x0A;
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF,69);
|
|
@@ -4958,10 +4965,10 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
case ADDR_VersionOf_Software://
|
|
|
//FM25L16B_Read_N_Bytes(ADDR_VersionOf_Software,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
//memset(&USART1_TX_BUF[33],'=',sizeof(USART1_TX_BUF)-33);
|
|
|
- //sprintf((char*)(&USART1_TX_BUF[33]),"%s\r\n",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
+ //sprintf((char *)(char*)(&USART1_TX_BUF[33]),"%s\r\n",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
// for(i000=0;i000<strlen(Version_software);++i000)
|
|
|
// {
|
|
|
- // sprintf(USART1_TX_BUF+33+2*i000,"%02X",Version_software[i000]);
|
|
|
+ // sprintf((char *)USART1_TX_BUF+33+2*i000,"%02X",Version_software[i000]);
|
|
|
// }
|
|
|
//strcpy(T2C_RemoteCaliDat001.PayLoadData,Version_software);
|
|
|
//T2C_RemoteCaliDat001.NumberOfRegs = strlen(Version_software);
|
|
@@ -5045,7 +5052,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
default:
|
|
|
|
|
|
//memset(&USART1_TX_BUF[33], '=', sizeof(USART1_TX_BUF) - 33);
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs=sprintf(T2C_RemoteCaliDat001.PayLoadData, "Read Address Error! %08X\r\n", T2C_RemoteCaliDat001.AddrRegStart);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs=sprintf((char *)T2C_RemoteCaliDat001.PayLoadData, "Read Address Error! %08X\r\n", T2C_RemoteCaliDat001.AddrRegStart);
|
|
|
break;
|
|
|
} //读取寄存器指令
|
|
|
|
|
@@ -5059,9 +5066,9 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
case ADDR_Restart_ContBoard: //控制板复位指令
|
|
|
memcpy(USART1_TX_BUF,temp_dataFromUsart1,16*2+1);//前16字节原样返回,共33字符 1表示起始字符英文下的冒号,hex为0x3a
|
|
|
memset(&USART1_TX_BUF[33],'=',sizeof(USART1_TX_BUF)-33);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33]),"System will reboot... %5d",cmd39Cnt);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33]),"System will reboot... %5d",cmd39Cnt);
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,64);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[65]),"%02X",Lrc_temp);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[65]),"%02X",Lrc_temp);
|
|
|
USART1_TX_BUF[67] =0x0D;
|
|
|
USART1_TX_BUF[68] = 0x0A;
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF,69);
|
|
@@ -5076,7 +5083,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
FM25L16B_WriteByte(ADDR_Extended_ContBoard+2,T2C_RemoteCaliDat001.PayLoadData[2]);
|
|
|
FM25L16B_WriteByte(ADDR_Extended_ContBoard+3,T2C_RemoteCaliDat001.PayLoadData[3]);
|
|
|
/*memset(&USART1_TX_BUF[33],'=',sizeof(USART1_TX_BUF)-33);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33]),"%02X%02X%02X%02X",T2C_RemoteCaliDat001.PayLoadData[0],
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33]),"%02X%02X%02X%02X",T2C_RemoteCaliDat001.PayLoadData[0],
|
|
|
T2C_RemoteCaliDat001.PayLoadData[1],T2C_RemoteCaliDat001.PayLoadData[2],T2C_RemoteCaliDat001.PayLoadData[3]);
|
|
|
*/
|
|
|
break;
|
|
@@ -5091,7 +5098,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
/*for(i001=0;i001<32;i001++)
|
|
|
{
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
|
|
|
}*/
|
|
|
|
|
@@ -5114,7 +5121,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
FM25L16B_Write_N_Bytes(ADDR_DataSource_LiquidoMeter,T2C_RemoteCaliDat001.PayLoadData,4);
|
|
|
for(i001=0;i001<4;i001++)
|
|
|
{
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -5134,7 +5141,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
FM25L16B_Write_N_Bytes(ADDR_DataSource_ElecSeal,T2C_RemoteCaliDat001.PayLoadData,4);
|
|
|
/*for(i001=0;i001<4;i001++)
|
|
|
{
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
|
|
|
} */
|
|
|
break;
|
|
@@ -5144,7 +5151,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
FM25L16B_Write_N_Bytes(ADDR_V20_Point,T2C_RemoteCaliDat001.PayLoadData,16);
|
|
|
/*for(i001=0;i001<16;i001++)
|
|
|
{
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
|
|
|
}*/
|
|
|
break;
|
|
@@ -5155,7 +5162,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
case ADDR_CarPlate_Number: //设定车牌号
|
|
|
memset(bufText01Password,0,sizeof(bufText01Password));
|
|
|
- sprintf((char*)bufText01Password,"车牌号:%s AB\r\n",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
+ sprintf((char *)(char*)bufText01Password,"车牌号:%s AB\r\n",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
FunDebugCode=DebugFun_Show_Terminal;
|
|
|
memcpy(CarLicensePlate,T2C_RemoteCaliDat001.PayLoadData,16);//拷贝16字节的车牌号,格式如:新M56454
|
|
|
//WriteCarLicensePlate();//保存车牌号
|
|
@@ -5163,7 +5170,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
/*for(i001=0;i001<8;i001++)
|
|
|
{
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
|
|
|
} */
|
|
|
break;
|
|
@@ -5171,7 +5178,8 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
|
|
|
case ADDR_Zero_Of_LiquidMeter://兼容8仓 液位计零点
|
|
|
- FM25L16B_Write_N_Bytes(ADDR_Zero_Of_LiquidMeter,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
+ {
|
|
|
+ FM25L16B_Write_N_Bytes(ADDR_Zero_Of_LiquidMeter,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
//解析8个浮点数数据
|
|
|
for(i001=0;i001<8;i001++)
|
|
|
{
|
|
@@ -5187,9 +5195,10 @@ 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;
|
|
|
+ }break;
|
|
|
case ADDR_Zero_Of_TankCapacity://兼容8仓 罐容Vt零点
|
|
|
- FM25L16B_Write_N_Bytes(ADDR_Zero_Of_TankCapacity,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
+ {
|
|
|
+ FM25L16B_Write_N_Bytes(ADDR_Zero_Of_TankCapacity,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
//解析8个浮点数数据
|
|
|
for(i001=0;i001<8;i001++)
|
|
|
{
|
|
@@ -5206,9 +5215,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;
|
|
|
+ } break;
|
|
|
case ADDR_ManHoLe_Number://人孔盖卸油阀数量
|
|
|
-
|
|
|
+ {
|
|
|
//解析8个浮点数数据
|
|
|
for(i001=0;i001<8;i001++)
|
|
|
{
|
|
@@ -5269,7 +5278,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
//FM25L16B_Write_N_Bytes(ADDR_ManHoLe_Number,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
/*for(i001=0;i001<64;i001++)
|
|
|
{
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
|
|
|
} */
|
|
|
FM25L16B_Read_N_Bytes(ADDR_StoreNumber,T2C_RemoteCaliDat001.PayLoadData,1);
|
|
@@ -5279,7 +5288,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;
|
|
|
+ }break;
|
|
|
|
|
|
case ADDR_Enable_ReSeal://是否允许重复施封 断电保存
|
|
|
//解析8个浮点数数据----合法的取值只有两种0,1
|
|
@@ -5379,10 +5388,19 @@ 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 0
|
|
|
ds1302_Write_Time(T2C_RemoteCaliDat001.PayLoadData-1);
|
|
|
+#else
|
|
|
+ uint8_t Time_buf[16];
|
|
|
+ memset(Time_buf,0x00,sizeof(Time_buf));
|
|
|
+ memcpy((void*)&Time_buf[1],(void*)T2C_RemoteCaliDat001.PayLoadData,sizeof(Time_buf) - 1);
|
|
|
+ ds1302_Write_Time(Time_buf);
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
/*for(i001=0;i001<6;i001++)
|
|
|
{
|
|
|
- sprintf((char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[33+i001]),"%02X",T2C_RemoteCaliDat001.PayLoadData[i001]);
|
|
|
|
|
|
}*/
|
|
|
T2C_RemoteCaliDat001.NumberOfRegs = 6;
|
|
@@ -5400,24 +5418,24 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
case ADDR_Unique_ID_ContBoard://
|
|
|
FM25L16B_Write_N_Bytes(ADDR_Unique_ID_ContBoard,T2C_RemoteCaliDat001.PayLoadData,16);
|
|
|
FM25L16B_Read_N_Bytes(ADDR_Unique_ID_ContBoard,T2C_RemoteCaliDat001.PayLoadData,16);
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs=sprintf(T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs=sprintf((char *)T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
break;
|
|
|
/*case ADDR_VersionOf_Software://
|
|
|
FM25L16B_Write_N_Bytes(ADDR_VersionOf_Software,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
FM25L16B_Read_N_Bytes(ADDR_VersionOf_Software,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs=sprintf(T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs=sprintf((char *)T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
break;*/
|
|
|
|
|
|
case ADDR_VersionOf_Hardware://
|
|
|
FM25L16B_Write_N_Bytes(ADDR_VersionOf_Hardware,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
FM25L16B_Read_N_Bytes(ADDR_VersionOf_Hardware,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs=sprintf(T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs=sprintf((char *)T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
|
|
|
break;
|
|
|
case ADDR_VersionOf_LCD://
|
|
|
FM25L16B_Write_N_Bytes(ADDR_VersionOf_LCD,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
FM25L16B_Read_N_Bytes(ADDR_VersionOf_LCD,T2C_RemoteCaliDat001.PayLoadData,32);
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs=sprintf(T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs=sprintf((char *)T2C_RemoteCaliDat001.PayLoadData,"%s",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
|
|
|
break;
|
|
|
|
|
@@ -5432,14 +5450,14 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
case ADDR_Sw_VoicePlay://远程切换语音播报
|
|
|
FunDebugCode=DebugFun_Sw_VoicePlay;
|
|
|
- //sprintf((char*)(&USART1_TX_BUF[33]),"%s\r\n",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs=sprintf(T2C_RemoteCaliDat001.PayLoadData,"%8u",DebugFun_Sw_VoicePlay);
|
|
|
+ //sprintf((char *)(char*)(&USART1_TX_BUF[33]),"%s\r\n",T2C_RemoteCaliDat001.PayLoadData);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs=sprintf((char *)T2C_RemoteCaliDat001.PayLoadData,"%8u",DebugFun_Sw_VoicePlay);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case ADDR_Sw_ValveRaw://远程屏幕显示阀门原始数据或者汉字信息
|
|
|
FunDebugCode=DebugFun_Sw_ValveRaw;
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs=sprintf(T2C_RemoteCaliDat001.PayLoadData,"%8u",DebugFun_Sw_ValveRaw);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs=sprintf((char *)T2C_RemoteCaliDat001.PayLoadData,"%8u",DebugFun_Sw_ValveRaw);
|
|
|
break;
|
|
|
|
|
|
case ADDR_Reserve002_ContBoard: //远程设定控制板数据用于测试
|
|
@@ -5482,6 +5500,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
T2C_RemoteCaliDat001.NumberOfRegs = 44;
|
|
|
break;
|
|
|
case ADDR_USART1_RE_TIMEOUT:
|
|
|
+ {
|
|
|
for (i001 = 0; i001 < 1; i001++)
|
|
|
{
|
|
|
//下边4行代码顺序是反的 终端发过来的数据为1=0x3f800000
|
|
@@ -5501,7 +5520,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;
|
|
|
+ }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);
|
|
@@ -5513,13 +5532,13 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
T2C_RemoteCaliDat001.NumberOfRegs = 1;
|
|
|
break;
|
|
|
default:
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs = sprintf(T2C_RemoteCaliDat001.PayLoadData, "Write Address Error! %08X\r\n", T2C_RemoteCaliDat001.AddrRegStart);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs = sprintf((char *)T2C_RemoteCaliDat001.PayLoadData, "Write Address Error! %08X\r\n", T2C_RemoteCaliDat001.AddrRegStart);
|
|
|
break;
|
|
|
}
|
|
|
}//写入寄存器指令----结束
|
|
|
else
|
|
|
{
|
|
|
- T2C_RemoteCaliDat001.NumberOfRegs = sprintf(T2C_RemoteCaliDat001.PayLoadData,"Modbus Command Error! %08X\r\n",T2C_RemoteCaliDat001.FunctionCode);
|
|
|
+ T2C_RemoteCaliDat001.NumberOfRegs = sprintf((char *)T2C_RemoteCaliDat001.PayLoadData,"Modbus Command Error! %08X\r\n",T2C_RemoteCaliDat001.FunctionCode);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -5528,7 +5547,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
{//ASCII模式下,只发送64*2+3字节
|
|
|
memcpy(USART1_TX_BUF,temp_dataFromUsart1,16*2+1);//前16字节原样返回,共33字符 1表示起始字符英文下的冒号,hex为0x3a
|
|
|
Lrc_temp = MODBUS_ASCII_GetLrc(USART1_TX_BUF+1,T2C_RemoteCaliDat001.NumberOfRegs);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs*2+33]),"%02X",Lrc_temp);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs*2+33]),"%02X",Lrc_temp);
|
|
|
USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs*2+35] =0x0D;
|
|
|
USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs*2+36] = 0x0A;
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF,T2C_RemoteCaliDat001.NumberOfRegs*2+37);
|
|
@@ -5539,7 +5558,7 @@ int Process_CMD_0x39_RemoteCali(uint8_t dataMode)
|
|
|
|
|
|
memcpy(USART1_TX_BUF,temp_dataFromUsart1,16*1+1);//前16字节原样返回,共33字符 1表示起始字符英文下的冒号,hex为0x3a
|
|
|
Lrc_temp = MODBUS_GetLrc(USART1_TX_BUF+1,T2C_RemoteCaliDat001.NumberOfRegs);
|
|
|
- sprintf((char*)(&USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs+1]),"%02X",Lrc_temp);
|
|
|
+ sprintf((char *)(char*)(&USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs+1]),"%02X",Lrc_temp);
|
|
|
USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs+3] =0x0D;
|
|
|
USART1_TX_BUF[T2C_RemoteCaliDat001.NumberOfRegs+4] = 0x0A;
|
|
|
TerminalSlave485_Send_Data(USART1_TX_BUF,T2C_RemoteCaliDat001.NumberOfRegs+5);//64+3
|