⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stream.c

📁 汽车电子解码器电缆测试。可以判断汽车故障在哪里
💻 C
📖 第 1 页 / 共 3 页
字号:
                    AddMenu( streamENGM154, SMaxl );
               }
               else if( SysID == HFLBDRF )   //哈飞汽车 -> 路宝ENG
               {
                    SMaxl = 26;
                    AddMenu( streamHFLBENG, SMaxl );
               }
               else if( SysID == HFSMABS )   //哈飞汽车 -> 赛马ABS
               {
                    SMaxl = 20;
                    AddMenu( streamHFABS, SMaxl );
               }
               Line = StartL;
          }
          else if( Rep == W_UP || Rep == W_DOWN ) //翻页
          {
               Line = StartL;
          }
          else //显示数据流
          {
               StrDis( Line, (unsigned char)(Line-StartL) );
               Line++;
               if( Line==(StartL+8) )     Line = StartL;
          }
     }
     return SUCCESS;
}
/*
**-------------------------------------------------------------------------------------
* 数据流数值显示函数
**-------------------------------------------------------------------------------------
*/
void StrDis( unsigned char strnum, unsigned char line )
{
#ifdef DEBUGMODE
     DebugString( "StrDis()" );
#endif
     char tmpstr[20];
     float Sum;
     int sumint;
     //在这里添加各系统的计算公式
     if( SysID == HFDRF )          //哈飞汽车 -> 德尔福电控
     {
          switch(strnum)
          {
               case 0  : //             6		Y=X1
                         Sum = (float)TagStr.strread[6];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 1  : //KPA		13		Y=0.37X1+10.3
                         Sum = (float)TagStr.strread[13]*0.37+10.3;
                         sprintf(tmpstr,"%6.1fKPA",Sum);
                         break;
               case 2  : //V		14		Y=0.1X1
                         Sum = 0.1*(float)TagStr.strread[14];
                         sprintf(tmpstr,"%6.1fV",Sum);
                         break;
               case 3  : //	     16		Y=0.75X1-40
                         Sum = 0.75*(float)TagStr.strread[16]-40;
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 4  : //		18		Y=0.75X1-40
                         Sum = (float)TagStr.strread[18]*0.75-404;
                         sprintf( tmpstr, "%5.1f", Sum );
                         break;
               case 5  : //		19		Y=0.7X1-90
                         Sum = (float)TagStr.strread[19]*0.7-90;
                         sprintf( tmpstr, "%5.1f", Sum);
                         break;
               case 6  : //kpa		21		Y=20X1
                         Sum = 20*(float)TagStr.strread[21];
                         sprintf( tmpstr, "%6.1fKPA",Sum );
                         break;
               case 7  : //		22		Y=X1
                         Sum = (float)TagStr.strread[22];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 8  : //mV		27		Y=19.5X1
                         Sum = 19.5*(float)TagStr.strread[27];
                         sprintf( tmpstr, "%6.1fMV", Sum);
                         break;
               case 9  : //%		28		Y=0.39X1
                         Sum = 0.39*(float)TagStr.strread[26];
                         sprintf(tmpstr,"%5.1f%%",Sum);
                         break;
               case 10 : //KPH 	29		Y=X1
                         Sum = (float)TagStr.strread[29];
                         sprintf(tmpstr,"%3.0fKPH",Sum);
                         break;
               case 11 : //RPM	35		Y=12.5X1
                         Sum = 12.5*(float)TagStr.strread[35];
                         sprintf( tmpstr, "%5.1fRPM", Sum );
                         break;
               case 12 : //RPM		30,31		Y=256X1+X2
                         Sum = (float)TagStr.strread[30]*256+(float)TagStr.strread[31];
                         sprintf( tmpstr, "%5.0fRPM" ,Sum );
                         break;
               case 13 : //MS		32		Y=0.09X1
                         Sum = 0.09*(float)TagStr.strread[32];
                         sprintf( tmpstr, "%5.1fMS", Sum );
                         break;
               case 14 : //STEP	33		Y=X1
                         Sum = (float)TagStr.strread[33];
                         sprintf( tmpstr, "%3.0fSTEP", Sum );
                         break;
               case 15 : //MV		36		Y=4.4X1
                         Sum = 4.4*(float)TagStr.strread[36];
                         sprintf( tmpstr, "%6.1fMV", Sum );
                         break;
               case 16 : //		37		Y=X1
                         Sum = (float)TagStr.strread[37];
                         sprintf( tmpstr, "%3.0f",Sum );
                         break;
               case 17 : //	38		Y=X1
                         Sum = (float)TagStr.strread[38];
                         sprintf( tmpstr, "%3.0f" ,Sum );
                         break;
               case 18 : //	39		同上
                         Sum = (float)TagStr.strread[39];
                         sprintf( tmpstr, "%3.0f", Sum );
                         break;
               case 19 : //	40		同上
                         Sum = (float)TagStr.strread[40];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 20 : //	42		Y=0.1X1 :1
                         Sum = 0.1*(float)TagStr.strread[42];
                         sprintf( tmpstr, "%5.1f:1", Sum );
                         break;
               case 21 : //S		60,61		Y=256X1+X2
                         Sum = 256*(float)TagStr.strread[60]+(float)TagStr.strread[61];
                         sprintf( tmpstr, "%6.0fS",Sum );
                         break;
               case 22 : //		64		Y=0.6X1-40
                         Sum = (float)TagStr.strread[64]*0.6-40;
                         sprintf( tmpstr, "%5.1f" ,Sum );
                         break;
               case 23 : //		65		同上
                         Sum = (float)TagStr.strread[65]*0.6-40;
                         sprintf( tmpstr, "%5.1f", Sum );
                         break;
               case 24 : //KM 		56,57,58	Y=6553.6X1+25.6X2+0.1X3
                         Sum = 6553.6*(float)TagStr.strread[56]+25.6*(float)TagStr.strread[57]+0.1*(float)TagStr.strread[58];
                         sprintf(tmpstr,"%7.0fKM",TagStr.strread[43]);
                         break;
               case 25 : //°		23		Y=0.35X1
                         Sum = 0.35*(float)TagStr.strread[23];
                         sprintf(tmpstr,"%5.1f'",Sum);
                         break;
               case 26 : //°		24		同上
                         Sum = 0.35*(float)TagStr.strread[24];
                         sprintf( tmpstr, "%5.1f'", Sum );
                         break;
               case 27 : //°		25		同上
                         Sum = 0.35*(float)TagStr.strread[25];
                         sprintf( tmpstr, "%5.1f'",Sum );
                         break;
               case 28 : // °		26		同上
                         Sum = 0.35*(float)TagStr.strread[26];
                         sprintf( tmpstr, "%5.1f'" ,Sum );
                         break;
               default:  break;
          }
     }
     else if( SysID == HFDRFMT )   //哈飞汽车 -> 民意MT20
     {
          switch(strnum)
          {
               case 0  : //             6		Y=X1
                         Sum = (float)TagStr.strread[6];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 1  : //KPA		13		Y=0.37X1+10.3
                         Sum = (float)TagStr.strread[13]*0.37+10.3;
                         sprintf(tmpstr,"%6.1fKPA",Sum);
                         break;
               case 2  : //V		14		Y=0.1X1
                         Sum = 0.1*(float)TagStr.strread[14];
                         sprintf(tmpstr,"%6.1fV",Sum);
                         break;
               case 3  : //	     16		Y=0.75X1-40
                         Sum = 0.75*(float)TagStr.strread[16]-40;
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 4  : //		18		Y=0.75X1-40
                         Sum = (float)TagStr.strread[18]*0.75-404;
                         sprintf( tmpstr, "%5.1f", Sum );
                         break;
               case 5  : //		19		Y=0.7X1-90
                         Sum = (float)TagStr.strread[19]*0.7-90;
                         sprintf( tmpstr, "%5.1f", Sum);
                         break;
               case 6  : //kpa		21		Y=20X1
                         Sum = 20*(float)TagStr.strread[21];
                         sprintf( tmpstr, "%6.1fKPA",Sum );
                         break;
               case 7  : //		22		Y=X1
                         Sum = (float)TagStr.strread[22];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 8  : //mV		27		Y=19.5X1
                         Sum = 19.5*(float)TagStr.strread[27];
                         sprintf( tmpstr, "%6.1fMV", Sum);
                         break;
               case 9  : //%		28		Y=0.39X1
                         Sum = 0.39*(float)TagStr.strread[26];
                         sprintf(tmpstr,"%5.1f%%",Sum);
                         break;
               case 10 : //KPH 	29		Y=X1
                         Sum = (float)TagStr.strread[29];
                         sprintf(tmpstr,"%3.0fKPH",Sum);
                         break;
               case 11 : //RPM	35		Y=12.5X1
                         Sum = 12.5*(float)TagStr.strread[35];
                         sprintf( tmpstr, "%5.1fRPM", Sum );
                         break;
               case 12 : //RPM		30,31		Y=256X1+X2
                         Sum = (float)TagStr.strread[30]*256+(float)TagStr.strread[31];
                         sprintf( tmpstr, "%5.0fRPM" ,Sum );
                         break;
               case 13 : //MS		32		Y=0.09X1
                         Sum = 0.09*(float)TagStr.strread[32];
                         sprintf( tmpstr, "%5.1fMS", Sum );
                         break;
               case 14 : //STEP	33		Y=X1
                         Sum = (float)TagStr.strread[33];
                         sprintf( tmpstr, "%3.0fSTEP", Sum );
                         break;
               case 15 : //MV		36		Y=4.4X1
                         Sum = 4.4*(float)TagStr.strread[36];
                         sprintf( tmpstr, "%6.1fMV", Sum );
                         break;
               case 16 : //		37		Y=X1
                         Sum = (float)TagStr.strread[37];
                         sprintf( tmpstr, "%3.0f",Sum );
                         break;
               case 17 : //	38		Y=X1
                         Sum = (float)TagStr.strread[38];
                         sprintf( tmpstr, "%3.0f" ,Sum );
                         break;
               case 18 : //	39		同上
                         Sum = (float)TagStr.strread[39];
                         sprintf( tmpstr, "%3.0f", Sum );
                         break;
               case 19 : //	40		同上
                         Sum = (float)TagStr.strread[40];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 20 : //	42		Y=0.1X1 :1
                         Sum = 0.1*(float)TagStr.strread[42];
                         sprintf( tmpstr, "%5.1f:1", Sum );
                         break;
               case 21 : //S		60,61		Y=256X1+X2
                         Sum = 256*(float)TagStr.strread[60]+(float)TagStr.strread[61];
                         sprintf( tmpstr, "%6.0fS",Sum );
                         break;
               case 22 : //		64		Y=0.6X1-40
                         Sum = (float)TagStr.strread[64]*0.6-40;
                         sprintf( tmpstr, "%5.1f" ,Sum );
                         break;
               case 23 : //		65		同上
                         Sum = (float)TagStr.strread[65]*0.6-40;
                         sprintf( tmpstr, "%5.1f", Sum );
                         break;
               default:  break;
          }
     }
     else if( SysID == HFM154 )    //哈飞汽车 -> 联电M154
     {
          switch(strnum)
          {
               case 0  : //X1=byte3,X2=byte4,	Y=X1*X2/5              RPM
                         Sum = (float)TagStr.strread[4]*(float)TagStr.strread[5]/5;
                         sprintf(tmpstr,"%6.0f/min",Sum);
                         break;
               case 1  : //X1=byte7,X2=byte8,      Y=(X1*X2-X1*100)/10    ℃
                         Sum = ((float)TagStr.strread[7]*(float)TagStr.strread[8]-(float)TagStr.strread[7]*100)/10;
                         sprintf(tmpstr,"%5.0fC",Sum);
                         break;
               case 2  : //X1=byte10,X2=byte11,    Y=(X1*|X2-128|)/100    BTDC
                         Sum = ((float)TagStr.strread[10]*((float)TagStr.strread[11]-128))/100;
                         sprintf(tmpstr,"%5.1fBTDC",Sum);
                         break;
               case 3  : //X1=byte10,              Y=X1*106/255           °
                         Sum = (float)TagStr.strread[10]*106/255;
                         sprintf(tmpstr,"%5.2f'",Sum);
                         break;
               case 4  : //X1=byte7,X2=byte8,      Y=X1*X2/100            ms
                         Sum = (float)TagStr.strread[7]*(float)TagStr.strread[8]/100;
                         sprintf(tmpstr,"%5.0fms",Sum);
                         break;
               case 5  : //X1=byte10,X2=byte11,    Y=X1*X2/1000           V
                         Sum = (float)TagStr.strread[10]*(float)TagStr.strread[11]/1000;
                         sprintf(tmpstr,"%5.2fV",Sum);
                         break;
               case 6  : //X1=byte13,X2=byte14,    Y=(X1*X2-X1*100)/10    ℃
                         Sum = ((float)TagStr.strread[13]*(float)TagStr.strread[14]-(float)TagStr.strread[13]*100)/10;
                         sprintf(tmpstr,"%5.0fC",Sum);
                         break;
               case 7  : //X1=byte3,X2=byte4,      Y=(X1%5)*111.7-(X1/5)*596+X2*111.2/255   kpa
                         Sum = (TagStr.strread[3]%5)*111.7-(TagStr.strread[3]/5)*596+(float)TagStr.strread[4]*111.2/255;
                         sprintf(tmpstr,"%5.1fkPa",Sum);
                         break;
               case 8  : //X1=byte10,X2=byte11,    Y=X1*X2/100            km/h
                         Sum = (float)TagStr.strread[10]*(float)TagStr.strread[11]/100;
                         sprintf(tmpstr,"%6.1fkm/h",Sum);
                         break;
               case 9  : //X1=byte4,X2=byte5,      Y=(X1*X2-X1*128)/10000+1
                         Sum = ((float)TagStr.strread[4]*(float)TagStr.strread[5]-(float)TagStr.strread[4]*128)/10000+1;
                         sprintf(tmpstr,"%6.2f",Sum);
                         break;
               case 10 : //X1=byte7,X2=byte8,      Y=X1*X2/256            %
                         Sum = (float)TagStr.strread[7]*(float)TagStr.strread[8]/256;
                         sprintf(tmpstr,"%5.1f%%",Sum);
                         break;
               case 11 : //X1=byte3,               Y=X1
                         Sum = (float)TagStr.strread[3];
                         sprintf(tmpstr,"%4.0f", Sum);
                         break;
               case 12 : //X1=byte3,		Y=4.76X1-0.4           mV
                         Sum = 4.76*(float)TagStr.strread[3]-0.4;
                         sprintf(tmpstr,"%5.1fmV",Sum);
                         break;
               default:  break;
          }
     }
     else if( SysID == HFLBDRF )   //哈飞汽车 -> 路宝ENG
     {
          switch(strnum)
          {
               case 0  : //52	             y1=0.0195*x1+0.002      V
                         Sum = (float)TagStr.strread[52]*0.0195+0.002;
                         sprintf(tmpstr,"%7.2fV",Sum);
                         break;
               case 1  : //53      		y=10*x1   		KPA
                         Sum = (float)TagStr.strread[53]*10;
                         sprintf(tmpstr,"%5.0fKPA",Sum);
                         break;
               case 2  : //37      		y1=x1*18.8/255    	V
                         Sum = (float)TagStr.strread[37]*18.8/255;
                         sprintf(tmpstr,"%7.1fV",Sum);
                         break;
               case 3  : //46      		y1=0.0195*x1        V
                         Sum = (float)TagStr.strread[46]*0.0195;
                         sprintf(tmpstr,"%7.2fV",Sum);
                         break;
               case 4  : //47      		y=x1-40   		℃
                         sumint = (int)TagStr.strread[47]-40;
                         sprintf(tmpstr,"%5dC",sumint);
                         break;
               case 5  : //44      		y1=0.0195*x1+0.0025     V
                         Sum = (float)TagStr.strread[44]*0.0195+0.0025;
                         sprintf(tmpstr,"%7.2fV",Sum);
                         break;
               case 6  : //45      		y=x1-40     		℃
                         sumint = (int)TagStr.strread[45]-40;
                         sprintf(tmpstr,"%5dC", sumint);
                         break;
               case 7  : //42      		y=x1  			KM/H
                         sumint = (int)TagStr.strread[42];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -