📄 readcardlg.cpp
字号:
char framecommand[200];
memset(framecommand,0,200);
BOOL bl=RecCommand(framecommand);
if(bl==0)
{
AfxMessageBox("Receveive is error");
return;
}
if(bl==65535)return;
if(!action(framecommand))AfxMessageBox("Receveive 0x55 is error");
}
void CReadCARDlg::OnCancel()
{
threadflag=false;
Sleep(1000);
CDialog::OnCancel();
}
void CReadCARDlg::OnClear()
{
datalong=0;
m_readData.Empty();
m_readSee.Invalidate();
pointx=0,pointy=0;
UpdateData(false);
}
BOOL CReadCARDlg::action(char *val)
{
int time=200;
char ch=0;
if(ReceiveOneByte(ch,time)&&ch==0x55)
senddata(val);
else
return false;
return true;
}
BOOL CReadCARDlg::RecCommand(char* framecommand)
{
char ch=0;
int time=300;
int count=0;
if(!ReceiveOneByte(ch,time)||ch==0x55)return 65535;
{
int framenumber=ch;
framecommand[count++]=ch;
for(int i=0;i<framenumber;i++)
{
if(!ReceiveOneByte(ch,time*2))return 0;
int bytenumber=ch;
framecommand[count++]=ch;
BYTE first=count;
for(int k=0;k<bytenumber;k++)
{
if(!ReceiveOneByte(ch,time*2))
return 0;
framecommand[count++]=ch;
}
BYTE checkCRC=framecommand[count-1];
if(checkCRC!=CheckCalCulation(&framecommand[first],bytenumber-1))
BaseSendShow(-1);
}
}
return count;
}
char codestate[20][20]={
{0x04,0x59,0x01,0x31,0x21},
{0x04,0x59,0x01,0x32,0x21},
{0x04,0x59,0x03,0x25,0x21},
{0x04,0x59,0x03,0x27,0x21},
{0x04,0x59,0x04,0x04,0x21},
{0x04,0x59,0x05,0x02,0x21},
{0x04,0x59,0x07,0x42,0x21},
{0x04,0x59,0x07,0x51,0x21},
{0x04,0x59,0x07,0x56,0x21},
{0x04,0x59,0x18,0x10,0x21},
{0x04,0x59,0x18,0x11,0x21},
{0x04,0x59,0x18,0x14,0x21},
{0x04,0x59,0x18,0x60,0x25},
{0x04,0x59,0x18,0x87,0x21},
};
char fff1[12][20]={
{0x06,0x52,0x00,0x00,0x03,0x00,0x00},
{0x05,0x52,0x00,0x00,0x05,0x00},
{0x05,0x52,0x00,0x00,0x07,0x00},
{0x06,0x52,0x00,0x00,0x0c,0x00,0x00},
{0x06,0x52,0x00,0x00,0x10,0x00,0x00},
{0x06,0x52,0x00,0x11,0x93,0x00,0x00},
{0x06,0x52,0x00,0x12,0x35,0x00,0x00},
{0x05,0x52,0x00,0x12,0x37,0x00},
{0x05,0x52,0x00,0x12,0x39,0x00},
{0x06,0x52,0x00,0x00,0x02,0x00,0x00},
};
char fff2[10][20]={
{0x06,0x52,0x00,0x00,0x03,0x02,0x00},
{0x05,0x52,0x00,0x00,0x05,0x82},
{0x05,0x52,0x00,0x00,0x07,0x81},
{0x05,0x52,0x00,0x00,0x0d,0x00},
{0x05,0x52,0x00,0x00,0x11,0x00},
{0x05,0x52,0x00,0x11,0x9e,0x93},
{0x06,0x52,0x00,0x12,0x36,0x00,0x3c},
{0x05,0x52,0x00,0x12,0x38,0x01},
{0x05,0x52,0x00,0x12,0x51,0xfa},
{0x06,0x52,0x01,0x00,0x02,0x18,0x60},
};
char fff3[11][20]={
{0x05,0x62,0x12,0x34,0x00,0x00},
{0x06,0x52,0x00,0x00,0x03,0x00,0x00},
{0x05,0x52,0x00,0x00,0x05,0x00},
{0x05,0x52,0x00,0x00,0x07,0x00},
{0x06,0x52,0x00,0x00,0x0c,0x00,0x00},
{0x06,0x52,0x00,0x00,0x10,0x00,0x00},
{0x06,0x52,0x00,0x11,0x93,0x00,0x00},
{0x06,0x52,0x00,0x12,0x35,0x00,0x00},
{0x05,0x52,0x00,0x12,0x37,0x00},
{0x05,0x52,0x00,0x12,0x39,0x00},
{0x06,0x52,0x01,0x00,0x02,0x00,0x00},
};
char chasissinfo[6][20]={
{0x08,0x6A,0x11,0x09,0x37,0x00,0x00,0x00,0x00},//22
{0x08,0x6A,0x10,0x09,0x36,0x00,0x00,0x00,0x00},//23
{0x08,0x6A,0x12,0x09,0x38,0x00,0x00,0x00,0x00},//24
{0x08,0x6A,0x13,0x09,0x38,0x00,0x00,0x00,0x00},//25
{0x08,0x6A,0x14,0xA5,0xA0,0x00,0x00,0x00,0x20},//26
{0x08,0x6A,0x16,0x92,0x51,0x04,0x57,0x52,0x31},//27
};
char data1[21][20]={
{0x03,0x6c,0xFe,0x4B},
{0x08,0x2C,0xFE,0x62,0x00,0x05,0x00,0x0F},
{0x08,0x2C,0xFE,0x71,0x11,0x43,0xFF,0xFF},
{0x08,0x2C,0xFD,0x4A,0x00,0x11,0x11,0x42},
{0x08,0x2C,0xFD,0x5C,0x12,0x50,0x00,0x10},
{0x08,0x2C,0xFC,0x4A,0x12,0x51,0x11,0x72},
{0x08,0x2C,0xFC,0x5A,0x11,0x06,0x11,0x07},
{0x08,0x2C,0xFC,0x6A,0x12,0x55,0xFF,0xFF},
{0x08,0x2C,0xFB,0x4B,0x11,0xA1,0x11,0x9E},
{0x08,0x2C,0xFB,0x63,0x16,0x0A,0x19,0x9A},
{0x08,0x2C,0xFA,0x4B,0x11,0x88,0x16,0x0B},
{0x08,0x2C,0xFA,0x62,0x11,0x05,0x11,0x45},
{0x08,0x2C,0xFA,0x71,0x11,0xAF,0xFF,0xFF},
{0x08,0x2C,0xF9,0x4A,0x11,0xA6,0x00,0x0E},
};
char chassisdata[6][20]={
// {0x08,0x6A,0x30,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x31,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x21,0x00,0x00,0x00,0xc0,0x00,0x00},
{0x08,0x6A,0x20,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x60,0x00,0x00,0x00,0x00,0x00,0x00},
};
char radiodata[6][20]={
{0x08,0x6A,0x01,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x02,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x12,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x04,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x05,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x06,0x00,0x00,0x00,0x00,0x00,0x00},
};
char SRSdata1[3][20]={
{0x06,0x6A,0x01,0x00,0x00,0x00,0x00},
{0x04,0x6A,0x02,0x00,0x00},
{0x08,0x6A,0x03,0x00,0x00,0x00,0x00,0x00,0x00},
};
char SRSdata2[3][20]={
{0x08,0x6A,0x04,0x4B,0x41,0x57,0x4D,0x4E,0x32},
{0x06,0x6A,0x06,0x09,0x38,0x00,0x60},
{0x08,0x6A,0x03,0x41,0x53,0x39,0x32,0x35,0x33},
};
char SRSdata3[3][20]={
{0x08,0x6A,0x11,0x00,0x00,0x00,0x00,0x00,0x00},
// {0x08,0x6A,0x20,0x00,0x00,0x00,0x00,0x00,0x00},
{0x06,0x6A,0x14,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x03,0x41,0x53,0x39,0x32,0x35,0x33},
};
char ICdata1[3][20]={
{0x08,0x6A,0x11,0x00,0x00,0x00,0x00,0x00,0x03},
{0x06,0x6A,0x12,0x00,0x00,0x00,0x00},
{0x04,0x6A,0x10,0x00,0x00},
};
char ACdata1[3][20]={
{0x08,0x6A,0x10,0x00,0x00,0x00,0x00,0x3,0x00},
{0x08,0x6A,0x12,0x00,0x00,0x00,0x00,0x00,0x00},
// {0x08,0x6A,0x01,0xae,0x01,0x26,0x07,0x00,0x00},
};
char Bodydata1[3][20]={
{0x08,0x6A,0x11,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x12,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x13,0x00,0x00,0x00,0x00,0x00,0x00},
};
char requset[COMMANDTOTAL][20]={
//Read DTC Command 1-15
//1.engine/at dtc
{0x01,0x20},//enter system command----------------0
{0x04,0x19,0xDA,0xFF,0x00},//1.read code information------------1
{0x04,0x19,0x40,0xFF,0x00},//2.read point code ---------------2
{0x04,0x19,0x04,0xFF,0x00},//3.after clean run code------------3
{0x04,0x19,0x60,0xFF,0x00},//4.diagnosis tested -------------4
{0x03,0x17,0x18,0x60},//read point code count---------------5
//2.body F0.驾驶员信息中心dtc
{0x04,0x19,0x02,0xFF,0x00},//read current dtc -----------------6
{0x04,0x19,0x10,0xFF,0x00},//read history dtc -----------------7
{0x01,0x14},//clean code-----------------8
//3.body 仪表板组合仪表dtc-------------60
//command same f0.
//4.body F2.收音机dtc
//5.f3.辅助充气保护装置
//6.F4.车辆防盗
//7.底盘 read code same
{0x03,0x2A,0x01,0x14},////1999 chass enter----------------9
{0x02,0x2A,0x01}, //1999 chass enter enhance dtc----------10
{0x03,0x2A,0x04,0x51},//read enhance dtc----------------11
{0x04,0x12,0x00,0xFF,0xFF},//故障记录------------12
{0x02,0x10,0x00},//清除DTC ------------13
{0x04,0x22,0x12,0x34,0x01},//获取信息------------14
{0x04,0x12,0x01,0xFF,0xFF},//故障记录------------15
{0x02,0x3C,0x01},//---------read information vin of engine 16
{0x02,0x3C,0x02},//---------read information vin of engine 17
{0x02,0x3C,0x03},//---------read information vin of engine 18
{0x02,0x3C,0x08},//---------read information software versing of engine 19
{0x03,0x2A,0x01,0x50},////1999 chass enter----------------9 20
{0x08,0x2A,0x01,0x11,0x10,0x12,0x13,0x14,0x16},//----READ CHASSIS INFO-------21
//Read DTC Command 15
{0x07,0x2C,0xFE,0x4B,0x00,0x0C,0x11,0x92},//READ DATA1
{0x07,0x2C,0xFE,0x62,0x11,0x72,0x00,0x05},//READ DATA1
{0x04,0x19,0x08,0xFF,0xFF},
//===============================ENGINE FUNCTION
{0x07,0x2C,0xF9,0x4A,0x11,0xA6,0x00,0x0E},//fan low
{0x07,0x2C,0xF9,0x5B,0x11,0x44,0x12,0x4F},
{0x07,0x2C,0xF9,0x71,0x11,0x06,0xFF,0xFF},
{0x07,0x2C,0xFE,0x71,0x00,0x0F,0xFF,0xFF},
{0x07,0x2C,0xFE,0x63,0x00,0x05,0x16,0x0B},//READ DATA2
{0x06,0x2A,0x14,0x20,0xFF,0xFF,0xFF},
{0x07,0x2C,0xFD,0x4B,0x16,0x0A,0x00,0x0F},
{0x07,0x2C,0xFE,0x4A,0x11,0x71,0x11,0x9b},
{0x07,0x2C,0xFE,0x5A,0x11,0x52,0x11,0xBB},
{0x07,0x2C,0xFD,0x4A,0x11,0xBD,0x11,0xC1},//------------------34
{0x00},
{0x07,0x2C,0xFC,0x4B,0x12,0x50,0x11,0x06},
{0x07,0x2C,0xFC,0x62,0x11,0x43,0x00,0x11},
{0x07,0x2C,0xFC,0x71,0x11,0x42,0xFF,0xFF},
{0x07,0x2C,0xF7,0x4A,0x00,0x0D,0x19,0x9A},
{0x07,0x2C,0xF7,0x5A,0x11,0x43,0x11,0x51},
{0x07,0x2C,0xF7,0x6A,0x00,0x05,0x19,0x40},
{0x04,0x12,0x02,0xFF,0xFF},//故障记录------------15
{0x04,0x12,0x03,0xFF,0xFF},//故障记录------------15
{0x04,0x12,0x04,0xFF,0xFF},//故障记录------------15
{0x04,0x12,0x05,0xFF,0xFF},//故障记录------------15
{0x04,0x12,0x06,0xFF,0xFF},//故障记录------------15
{0x04,0x12,0x07,0xFF,0xFF},//故障记录------------15
{0x04,0x12,0x08,0xFF,0xFF},//故障记录------------15
{0x04,0x12,0x09,0xFF,0xFF},//故障记录------------15
{0x07,0x2C,0xFB,0x71,0x00,0x06,0xFF,0xFF},
{0x07,0x2C,0xFA,0x4A,0x11,0x41,0x11,0x04},
{0x07,0x2C,0xFA,0x5A,0x11,0x07,0x11,0x0C},
{0x07,0x2C,0xFA,0x6A,0x19,0x9A,0x11,0x02},
{0x02,0x01,0x01},//--------------i/m system
{0x06,0x2A,0x04,0x60,0x31,0x21,0x20}, // 2A 04 60 31 21 20
{0x06,0x2A,0x04,0x20,0x21,0x30,0x60},
//srs datastream
{0x06,0x2A,0x13,0x01,0x02,0x03,0xFF},
{0x06,0x2A,0x13,0x04,0x06,0xFF,0xFF},
{0x06,0x2A,0x13,0x11,0x20,0xFF,0xFF},
{0x06,0x2A,0x13,0x11,0x14,0xFF,0xFF},
{0x05,0x2A,0x03,0x11,0x12,0x10},
{0x03,0x2A,0x03,0x13},
{0x03,0x2A,0x03,0x16},
{0x01,0x3f},
{0x05,0x2A,0x04,0x20,0x21,0x30},
{0x03,0x2A,0x03,0x10,0x12,0x03},
{0x05,0x2A,0x03,0x11,0x12,0x13},
{0x03,0x2A,0x03,0x12},//----------68
{0x06,0x2A,0x14,0x12,0xFF,0xFF,0xFF},
{0x06,0x2A,0x14,0x10,0xFF,0xFF,0xFF},
{0x06,0x2A,0x14,0x13,0xFF,0xFF,0xFF},
{0x06,0x2A,0x14,0x15,0xFF,0xFF,0xFF},
{0x03,0x2A,0x04,0x53},//read enhance dtc----------------11
{0x03,0xAE,0x01,0x85,0x01,0x00,0x00,0x00,0x00},
{0x02,0x3C,0x15},
{0x02,0x3C,0x84},
{0x02,0x3C,0x17},
{0x02,0x3C,0x18},
{0x02,0x3C,0x86},
{0x02,0x3C,0x85},
{0x02,0x3C,0xA3},
{0x03,0x3B,0xA3,0x07},
{0x02,0x3C,0xA0},
{0x02,0x3C,0xA8},
{0x02,0x3C,0xA5},
{0x06,0x3B,0xA8,0x36,0x35,0x30,0x36},
{0x06,0x2A,0x13,0x06,0xff,0xFF,0xFF},
{0x02,0x3C,0x1a},
{0x02,0x3C,0x1b},
{0x02,0x3C,0x1c},
{0x06,0x3b,0x1a,0x37,0x32,0x34,0x34},
{0x06,0x3b,0x1b,0x34,0x32,0x34,0x34},
{0x06,0x3b,0x1c,0x34,0x32,0x34,0x34},
{0x08,0x2A,0x01,0x01,0x02,0x04,0x05,0x06,0x12},
{0x03,0x3B,0x90,0xaa},
{0x03,0x3B,0x84,0x00},
{0x07,0x3B,0x85,0x00,0x00,0x00,0x00,0x00},
{0x03,0x3B,0x90,0xff},
{0x02,0x3C,0x81},
{0x03,0x3B,0x81,0x08},
{0x06,0x3B,0x86,0xCA,0xED,0x32,0xFF},
{0x06,0x3B,0x89,0x10,0x4D,0x32,0xec},
{0x06,0x3B,0x91,0xff,0xff,0xff,0xff},
{0x07,0x3B,0x94,0x03,0x08,0x80,0x80,0x03},
{0x03,0x3B,0x97,0x07},
{0x05,0x3B,0x98,0x1a,0x00,0x06},
{0x02,0x3C,0x88},
};
char answer[COMMANDTOTAL][20]={
//engine dtc-------------------10
{0x01,0x60},//enter system command--------0
{0x04,0x59,0x00,0x00,0x01},//1.read code information-----------1
{0x04,0x59,0x00,0x00,0x01},//2.read point code -----------2
{0x04,0x59,0x00,0x00,0x80},//3.after clean run code--------------3
{0x04,0x59,0x00,0x00,0x40},//3.diagnosis tested --------------4
{0x04,0x57,0x18,0x60,0x00},//read point code count-----------5
//2.body F0.驾驶员信息中心dtc----------40
{0x04,0x59,0x00,0x00,0x10},//read current dtc------------6
{0x04,0x59,0x00,0x00,0x01},//read history dtc------------7
{0x01,0x54},//clean code-----------------8
//3.body 仪表板组合仪表dtc-------------60
//command same f0.
//4.body F2.收音机dtc
//5.f3.辅助充气保护装置
//6.F4.车辆防盗
//7.底盘 read code same
{0x08,0x6A,0x14,0xA5,0xA0,0x00,0x02,0x00,0x89},////1999 chass enter--------9
{0x02,0x6A,0x01}, //1999 chass enter enhance dtc-----------10
{0x08,0x6A,0x51,0x52,0x52,0x11,0x00,0x02,0x01},
{0x04,0x6A,0x04,0x00,0xff},//trouble code recoder------------12
{0x04,0x7F,0x10,0x00,0x12},//-clear code engine-----------13
{0x05,0x62,0x12,0x34,0x00,0x00},//------------14
{0x00},//------------15
//Read DTC Command 15
{0x08,0x7C,0x01,0x35,0x32,0x57,0x34,0x59,0x53},//---------read information vin of engine 16
{0x08,0x7C,0x02,0x35,0x32,0x57,0x34,0x59,0x53},//---------read information vin of engine 17
{0x08,0x7C,0x03,0x31,0x30,0x34,0x31,0x38,0x38},//---------read information vin of engine 18
{0x06,0x7C,0x08,0x00,0x8f,0x1f,0x1e},//---------read information software versing of engine 19
{0x08,0x6A,0x90,0xA5,0xA0,0x00,0x02,0x00,0x89},////1999 chass enter--------9 20
{0x00},
{0x03,0x6C,0xFE,0x4B},
{0x03,0x6C,0xFE,0x62},
{0x03,0x59,0x08,0x02},
//======================function=============
{0x03,0x6C,0xF9,0x4A,0x32},
{0x03,0x6C,0xF9,0x5B,0xE2},
{0x03,0x6C,0xF9,0x71,0xB7},
{0x00},
{0x03,0x6C,0xFE,0x63,0x32},
{0x08,0x6A,0x20,0x16,0x25,0x70,0x50,0x44,0x33},
{0x00},
{0x03,0x6C,0xFE,0x4A},
{0x03,0x6C,0xFE,0x5A},
{0x00},//-------------34
{0x00},//-------------35
{0x03,0x6C,0xFC,0x4B},
{0x03,0x6C,0xFC,0x62},
{0x00},//-------------38
{0x03,0x6C,0xF7,0x4A},
{0x03,0x6C,0xF7,0x5A},
{0x00},
{0x00},
{0x00},
{0x00},
{0x00},
{0x00},
{0x00},
{0x00},
{0x00},
{0x03,0x6C,0xFB,0x71},//---------------50
{0x03,0x6C,0xFA,0x4A},
{0x03,0x6C,0xFA,0x5A},
{0x03,0x6C,0xFA,0x6A},
{0x00},//--------------i/m system
{0x00},//--------------chassis data
{0x00},
{0x00},//--------------chassis data
{0x00},
{0x00},
{0x00},
{0x00},
{0x08,0x6A,0x13,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x16,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x7f,0x53,0xff,0xff,0xff,0xff,0xff,0xff},
{0x00},
{0x00},//-------------66
{0x07,0x7f,0x2A,0x03,0x11,0x12,0x13,0x31},//---------67===61
{0x00},//----------68
{0x00},//----------68
{0x08,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x13,0x01,0x01,0x00,0x00,0x00,0x00},
{0x08,0x6A,0x15,0x00,0x00,0x00,0x00,0x05,0x00},
{0x08,0x6A,0x53,0x00,0x00,0x00,0x00,0x00,0x00},
{0x05,0xEE,0x01,0xE1,0xD4,0x01},
{0x08,0x7C,0x15,0x35,0x32,0x57,0x34,0x59,0x53},//---------read information vin of engine 16
{0x08,0x7C,0x84,0x30,0xff,0x57,0x34,0x59,0x53},//---------read information vin of engine 16
{0x08,0x7C,0x17,0x00,0x00,0x00,0x00,0x00,0x00},//---------read information vin of engine 16
{0x08,0x7C,0x18,0x00,0x00,0x00,0x00,0x00,0x00},//---------read information vin of engine 16
{0x08,0x7C,0x86,0x00,0x00,0x00,0x00,0x00,0x00},//---------read information vin of engine 16
{0x08,0x7C,0x85,0x00,0x00,0x00,0x00,0x00,0x00},//---------read information vin of engine 16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -