aaadlg.cpp
来自「本人调试通过的串口通信程序,对初学者有一定的参考价值」· C++ 代码 · 共 1,356 行 · 第 1/4 页
CPP
1,356 行
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data1[32])
{
k++;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
else
{
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
}
}
else
{
if(a==0x41)
flag=1;
j=0;
}
break;
case 2:
if(flag==1)
{
data2[j++] = a;
if(j==33)
{
//if(j==18)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data2[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data2[32])
{
k++;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
else
{
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
}
}
else
{
if(a==0x41)
flag=1;
j=0;
}
break;
case 3:
if(flag==1)
{
data3[j++] = a;
if(j==33)
{
//if(j==33)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data3[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data3[32])
{
k++;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
else
{
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
}
}
else
{
if(a==0x41)
flag=1;
j=0;
}
break;
case 4:
if(flag==1)
{
data4[j++] = a;
if(j==33)
{
//if(j==18)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data4[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data4[32])
{
k++;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
else
{
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
}
}
else
{
if(a==0x41)
flag=1;
j=0;
}
break;
case 5:
if(flag==1)
{
data5[j++] = a;
if(j==33)
{
//if(j==18)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data5[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data5[32])
{
k++;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
else
{
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
}
}
else
{
if(a==0x41)
flag=1;
j=0;
}
break;
case 6:
if(flag==1)
{
data6[j++] = a;
if(j==33)
{
//if(j==18)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data6[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data6[32])
{
k++;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
else
{
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(m=0;m<5;m++)
array.SetAt(m, TxData[m]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
}
}
else
{
if(a==0x41)
flag=1;
j=0;
}
break;
case 7:
if(flag==1)
{
data7[j++] = a;
if(j==33)
{
//if(j==18)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data7[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data7[32])
{
k++;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?