📄 klinecomm.c
字号:
G_uc8ResponseMessage[13]=(unsigned char)(KLineData06_5>>8);//
G_uc8ResponseMessage[14]=(unsigned char)(KLineData06_5&0x00ff);//
G_uc8ResponseMessage[15]=(unsigned char)(KLineData06_6>>8);//
G_uc8ResponseMessage[16]=(unsigned char)(KLineData06_6&0x00ff);
G_uc8ResponseMessage[17]=(unsigned char)(KLineData06_7>>8);
G_uc8ResponseMessage[18]=(unsigned char)(KLineData06_7&0x00ff);
G_uc8ResponseMessage[19]=(unsigned char)(KLineData06_8>>8);//
G_uc8ResponseMessage[20]=(unsigned char)(KLineData06_8&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
case 0x07://
G_uc8ResponseMessage[0]=0x92;
//只读unsigned int 型数据
G_uc8ResponseMessage[5]=(unsigned char)(KLineData07_1>>8);//
G_uc8ResponseMessage[6]=(unsigned char)(KLineData07_1&0x00ff);
G_uc8ResponseMessage[7]=(unsigned char)(KLineData07_2>>8);//
G_uc8ResponseMessage[8]=(unsigned char)(KLineData07_2&0x00ff);
G_uc8ResponseMessage[9]=(unsigned char)(KLineData07_3>>8);//
G_uc8ResponseMessage[10]=(unsigned char)(KLineData07_3&0x00ff);
G_uc8ResponseMessage[11]=(unsigned char)(KLineData07_4>>8);//
G_uc8ResponseMessage[12]=(unsigned char)(KLineData07_4&0x00ff);//
G_uc8ResponseMessage[13]=(unsigned char)(KLineData07_5>>8);//
G_uc8ResponseMessage[14]=(unsigned char)(KLineData07_5&0x00ff);//
G_uc8ResponseMessage[15]=(unsigned char)(KLineData07_6>>8);//
G_uc8ResponseMessage[16]=(unsigned char)(KLineData07_6&0x00ff);
G_uc8ResponseMessage[17]=(unsigned char)(KLineData07_7>>8);//
G_uc8ResponseMessage[18]=(unsigned char)(KLineData07_7&0x00ff);
G_uc8ResponseMessage[19]=(unsigned char)(KLineData07_8>>8);//
G_uc8ResponseMessage[20]=(unsigned char)(KLineData07_8&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
case 0x08://
G_uc8ResponseMessage[0]=0x92;
//只读int 型数据
G_uc8ResponseMessage[5]=(unsigned char)(KLineData08_1>>8);//
G_uc8ResponseMessage[6]=(unsigned char)(KLineData08_1&0x00ff);
G_uc8ResponseMessage[7]=(unsigned char)(KLineData08_2>>8);//
G_uc8ResponseMessage[8]=(unsigned char)(KLineData08_2&0x00ff);//
G_uc8ResponseMessage[9]=(unsigned char)(KLineData08_3>>8);//
G_uc8ResponseMessage[10]=(unsigned char)(KLineData08_3&0x00ff);
G_uc8ResponseMessage[11]=(unsigned char)(KLineData08_4>>8);//
G_uc8ResponseMessage[12]=(unsigned char)(KLineData08_4&0x00ff);//
G_uc8ResponseMessage[13]=(unsigned char)(KLineData08_5>>8);//
G_uc8ResponseMessage[14]=(unsigned char)(KLineData08_5&0x00ff);//
G_uc8ResponseMessage[15]=(unsigned char)(KLineData08_6>>8);//
G_uc8ResponseMessage[16]=(unsigned char)(KLineData08_6&0x00ff);
G_uc8ResponseMessage[17]=(unsigned char)(KLineData08_7>>8);//
G_uc8ResponseMessage[18]=(unsigned char)(KLineData08_7&0x00ff);
G_uc8ResponseMessage[19]=(unsigned char)(KLineData08_8>>8);//
G_uc8ResponseMessage[20]=(unsigned char)(KLineData08_8&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
case 0x09://
G_uc8ResponseMessage[0]=0x8a;
//只读unsigned char 型数据
G_uc8ResponseMessage[5]=KLineData09_1;//
G_uc8ResponseMessage[6]=KLineData09_2;//
G_uc8ResponseMessage[7]=KLineData09_3;//
G_uc8ResponseMessage[8]=KLineData09_4;//
G_uc8ResponseMessage[9]=KLineData09_5;//
G_uc8ResponseMessage[10]=KLineData09_6;//
G_uc8ResponseMessage[11]=KLineData09_7;//
G_uc8ResponseMessage[12]=KLineData09_8;//
G_un16ResponseMLength=14;
G_uc8ResponseMessage[13]=CheckSum();
break;
case 0x0a://
G_uc8ResponseMessage[0]=0x8a;
//只读 char 型数据
G_uc8ResponseMessage[5]=KLineData10_1;//
G_uc8ResponseMessage[6]=KLineData10_2;//
G_uc8ResponseMessage[7]=KLineData10_3;//
G_uc8ResponseMessage[8]=KLineData10_4;//
G_uc8ResponseMessage[9]=KLineData10_5;//
G_uc8ResponseMessage[10]=KLineData10_6;//
G_uc8ResponseMessage[11]=KLineData10_7;//
G_uc8ResponseMessage[12]=KLineData10_8;//
G_un16ResponseMLength=14;
G_uc8ResponseMessage[13]=CheckSum();
break;
case 0x0b://
G_uc8ResponseMessage[0]=0x92;
// 只读Float 型数据
scalingtemp=(unsigned int)(KLineData11_1*10);//
G_uc8ResponseMessage[5]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[6]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData11_2*10);//
G_uc8ResponseMessage[7]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[8]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData11_3*10);//
G_uc8ResponseMessage[9]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[10]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData11_4*10);//
G_uc8ResponseMessage[11]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[12]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData11_5*10);//
G_uc8ResponseMessage[13]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[14]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData11_6*10);//
G_uc8ResponseMessage[15]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[16]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData11_7*10);//
G_uc8ResponseMessage[17]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[18]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData11_8*10);//
G_uc8ResponseMessage[19]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[20]=(unsigned char)(scalingtemp&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
case 0x0c://
G_uc8ResponseMessage[0]=0x92;
// 只读Float 型数据
scalingtemp=(unsigned int)(KLineData12_1*10);//
G_uc8ResponseMessage[5]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[6]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData12_2*10);//
G_uc8ResponseMessage[7]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[8]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData12_3*10);//
G_uc8ResponseMessage[9]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[10]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData12_4*10);//
G_uc8ResponseMessage[11]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[12]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData12_5*10);//
G_uc8ResponseMessage[13]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[14]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData12_6*10);//
G_uc8ResponseMessage[15]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[16]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData12_7*10);//
G_uc8ResponseMessage[17]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[18]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineData12_8*10);//
G_uc8ResponseMessage[19]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[20]=(unsigned char)(scalingtemp&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
case 0x51:
G_uc8ResponseMessage[0]=0x92;
//可读写的unsigned int 型数据
G_uc8ResponseMessage[5]=(unsigned char)(KLineWData81_1>>8);// write data by ID 01
G_uc8ResponseMessage[6]=(unsigned char)(KLineWData81_1&0x00ff);//
G_uc8ResponseMessage[7]=(unsigned char)(KLineWData81_2>>8);//write data by ID 02
G_uc8ResponseMessage[8]=(unsigned char)(KLineWData81_2&0x00ff);//
G_uc8ResponseMessage[9]=(unsigned char)(KLineWData81_3>>8);//write data by ID 03
G_uc8ResponseMessage[10]=(unsigned char)(KLineWData81_3&0x00ff);//
G_uc8ResponseMessage[11]=(unsigned char)(KLineWData81_4>>8);//write data by ID 04
G_uc8ResponseMessage[12]=(unsigned char)(KLineWData81_4&0x00ff);
G_uc8ResponseMessage[13]=(unsigned char)(KLineWData81_5>>8);//write data by ID 05
G_uc8ResponseMessage[14]=(unsigned char)(KLineWData81_5&0x00ff);
G_uc8ResponseMessage[15]=(unsigned char)(KLineWData81_6>>8);//write data by ID 06
G_uc8ResponseMessage[16]=(unsigned char)(KLineWData81_6&0x00ff);
G_uc8ResponseMessage[17]=(unsigned char)(KLineWData81_7>>8);//write data by ID 07
G_uc8ResponseMessage[18]=(unsigned char)(KLineWData81_7&0x00ff);//
G_uc8ResponseMessage[19]=(unsigned char)(KLineWData81_8>>8);//write data by ID 08
G_uc8ResponseMessage[20]=(unsigned char)(KLineWData81_8&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
case 0x52:
G_uc8ResponseMessage[0]=0x92;
//可读写的unsigned int 型数据
G_uc8ResponseMessage[5]=(unsigned char)(KLineWData82_1>>8);// write data by ID 09
G_uc8ResponseMessage[6]=(unsigned char)(KLineWData82_1&0x00ff);//
G_uc8ResponseMessage[7]=(unsigned char)(KLineWData82_2>>8);//write data by ID 10
G_uc8ResponseMessage[8]=(unsigned char)(KLineWData82_2&0x00ff);//
G_uc8ResponseMessage[9]=(unsigned char)(KLineWData82_3>>8);//write data by ID 11
G_uc8ResponseMessage[10]=(unsigned char)(KLineWData82_3&0x00ff);//
G_uc8ResponseMessage[11]=(unsigned char)(KLineWData82_4>>8);//write data by ID 12
G_uc8ResponseMessage[12]=(unsigned char)(KLineWData82_4&0x00ff);
G_uc8ResponseMessage[13]=(unsigned char)(KLineWData82_5>>8);//write data by ID 13
G_uc8ResponseMessage[14]=(unsigned char)(KLineWData82_5&0x00ff);
G_uc8ResponseMessage[15]=(unsigned char)(KLineWData82_6>>8);//write data by ID 14
G_uc8ResponseMessage[16]=(unsigned char)(KLineWData82_6&0x00ff);
G_uc8ResponseMessage[17]=(unsigned char)(KLineWData82_7>>8);//write data by ID 15
G_uc8ResponseMessage[18]=(unsigned char)(KLineWData82_7&0x00ff);//
G_uc8ResponseMessage[19]=(unsigned char)(KLineWData82_8>>8);//write data by ID 16
G_uc8ResponseMessage[20]=(unsigned char)(KLineWData82_8&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
case 0x53:
G_uc8ResponseMessage[0]=0x8a;
//可读写的unsigned char 型数据
G_uc8ResponseMessage[5]=0xff & KLineWData83_1;//write data by ID 17
G_uc8ResponseMessage[6]=0xff & KLineWData83_2;//write data by ID 18
G_uc8ResponseMessage[7]=0xff & KLineWData83_3;//write data by ID 19
G_uc8ResponseMessage[8]=0xff & KLineWData83_4;//write data by ID 20
G_uc8ResponseMessage[9]=0xff & KLineWData83_5;//write data by ID 21
G_uc8ResponseMessage[10]=0xff & KLineWData83_6;//write data by ID 22
G_uc8ResponseMessage[11]=0xff & KLineWData83_7;//write data by ID 23
G_uc8ResponseMessage[12]=0xff & KLineWData83_8;//write data by ID 24
G_un16ResponseMLength=14;
G_uc8ResponseMessage[13]=CheckSum();
break;
case 0x54:
G_uc8ResponseMessage[0]=0x8a;
//可读写的int 型数据
G_uc8ResponseMessage[5]=0xff & KLineWData84_1;//write data by ID 25
G_uc8ResponseMessage[6]=0xff & KLineWData84_1;//write data by ID 26
G_uc8ResponseMessage[7]=0xff & KLineWData84_1;//write data by ID 27
G_uc8ResponseMessage[8]=0xff & KLineWData84_1;//write data by ID 28
G_uc8ResponseMessage[9]=0xff & KLineWData84_1;//write data by ID 29
G_uc8ResponseMessage[10]=0xff & KLineWData84_1;//write data by ID 30
G_uc8ResponseMessage[11]=0xff & KLineWData84_1;//write data by ID 31
G_uc8ResponseMessage[13]=0xff & KLineWData84_1;//write data by ID 32
G_un16ResponseMLength=14;
G_uc8ResponseMessage[13]=CheckSum();
break;
case 0x55:
G_uc8ResponseMessage[0]=0x92;
//可读写的Float 型数据
scalingtemp=(unsigned int)(KLineWData85_1*10);//write data by ID 33
G_uc8ResponseMessage[5]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[6]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineWData85_2*10);//write data by ID 34
G_uc8ResponseMessage[7]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[8]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineWData85_3*10);//write data by ID 35
G_uc8ResponseMessage[9]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[10]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineWData85_4*10);//write data by ID 36
G_uc8ResponseMessage[11]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[12]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineWData85_5*10);//write data by ID 37
G_uc8ResponseMessage[13]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[14]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineWData85_6*10);//write data by ID 38
G_uc8ResponseMessage[15]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[16]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineWData85_7*10);//write data by ID 39
G_uc8ResponseMessage[17]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[18]=(unsigned char)(scalingtemp&0x00ff);
scalingtemp=(unsigned int)(KLineWData85_8*10);//write data by ID 40
G_uc8ResponseMessage[19]=(unsigned char)(scalingtemp>>8);
G_uc8ResponseMessage[20]=(unsigned char)(scalingtemp&0x00ff);
G_un16ResponseMLength=22;
G_uc8ResponseMessage[21]=CheckSum();
break;
default:
bSubFunNotSup=1;
G_uc8ResponseMessage[0]=0x83;
G_uc8ResponseMessage[3]=0x7f;
G_uc8ResponseMessage[4]=0x61;
G_uc8ResponseMessage[5]=0x12;
G_un16ResponseMLength=7;
G_uc8ResponseMessage[6]=CheckSum();
break;
}
G_bSendReady=1;
bReadDataLIDFlag=0;
}
if(bReadMemoryByAFlag) //Read Memory By Address service
{
unsigned char page0;
unsigned char *addr;
unsigned int addrvalue;
G_uc8ResponseMessage[0]=0x80;
G_uc8ResponseMessage[3]=G_uc8MemorySize+1;
G_uc8ResponseMessage[4]=0x63;
page0=PPAGE;
addrvalue=(G_uc8MemoryAddressM*256)+G_uc8MemoryAddressL;//calculate the value of address
addr=(unsigned char*)addrvalue;
PPAGE=G_uc8MemoryAddressH;
for(i=0;i<G_uc8MemorySize;i++)//
{
G_uc8ResponseMessage[i+5]=addr[i];
}
PPAGE=page0;
G_un16ResponseMLength=G_uc8MemorySize+6;
G_uc8ResponseMessage[G_un16ResponseMLength-1]=CheckSum();
G_bSendReady=1;
bReadMemoryByAFlag=0;
}
if(bWriteDataByLIdFlag) //Write Data By Local Identifier service
{
unsigned char recordvH,recordvL;
unsigned char highnibble;//lownibble;
highnibble=(unsigned char)(G_uc8Receivedata[G_StartLocation+5]/16);
/*lownibble=(unsigned char)(G_uc8Receivedata[G_StartLocation+5]%16);
for(i=0;i<lownibble;i++)
un16RecordValue+=G_uc8Receivedata[G_StartLocation+6+i]*(256^(lownibble-i-1));
*/
if(highnibble==7)
{
int recordTemp;
recordvH=G_uc8Receivedata[G_StartLocation+6];
recordvL=G_uc8Receivedata[G_StartLocation+7];
un16RecordValue=(recordvH*256)+recordvL;
if(un16RecordValue&0x8000)
{
recordTemp=un16RecordValue-0xffff-1;
floRecordValue=(float)recordTemp/10;
}
else
floRecordValue=(float)un16RecordValue/10;
}
if(G_uc8RequstMLength==9)
{
recordvH=G_uc8Receivedata[G_StartLocation+6];
recordvL=G_uc8Receivedata[G_StartLocation+7];
un16RecordValue=(recordvH*256)+recordvL;
}
if(G_uc8RequstMLength==8)
{
un16RecordValue=G_uc8Receivedata[G_StartLocation+6];
}
ConfigCalibratedPara();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -