📄 aaadlg.cpp
字号:
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 14:
if(flag==1)
{
data14[j++] = a;
if(j==33)
{
//if(j==18)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data14[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data14[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;
count=0;
}
break;
case 15:
if(flag==1)
{
data15[j++] = a;
if(j==33)
{
//if(j==18)/////////////CRC校验
j=0;
flag=0;
count=0;
for(m=0;m<32;m++)
even(data15[m]);
if(count%2==0)
countR=1;
else
countR=0;
if(countR==data15[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;
count=0;
}
break;
default:
break;
}
}///接受正确的程序
UpdateData(FALSE);//更新编辑框内容
}
}
void CAaaDlg::OnButton2()
{
// TODO: Add your control notification handler code here
if( m_Comm.GetPortOpen())
m_Comm.SetPortOpen(FALSE);//打开串口
}
void CAaaDlg::OnSave()
{
int i;
// TODO: Add your control notification handler code here
// for(i=0;i<32;i++)
// data[i]=data0[i];
FILE* pFile;
pFile = fopen("sampling.txt", "w+");
if(!pFile)
{
MessageBox("sampling文件无法打开!");
return;
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data0[i+1]*256+data0[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data1[i+1]*256+data1[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%d\n",(data2[i+1]*256+data2[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data3[i+1]*256+data3[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data4[i+1]*256+data4[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data5[i+1]*256+data5[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data6[i+1]*256+data6[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data7[i+1]*256+data7[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data8[i+1]*256+data8[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data9[i+1]*256+data9[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data10[i+1]*256+data10[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data11[i+1]*256+data11[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data12[i+1]*256+data12[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data13[i+1]*256+data13[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data14[i+1]*256+data14[i])*2.5/65536);
}
// fprintf(pFile, "%d\n",0);
for(i=0;i<32;i++,i++)
{
fprintf(pFile, "%f\n",(data15[i+1]*256+data15[i])*2.5/65536);
}
fclose(pFile);
}
void CAaaDlg::OnSend()
{
// TODO: Add your control notification handler code here
int i;
j=0;
k=0;l=0;
flag=0;
BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
CByteArray array;
array.RemoveAll();
array.SetSize(5);
for(i=0;i<5;i++)
array.SetAt(i, TxData[i]);
m_Comm.SetOutput(COleVariant(array)); // 发送数据
}
void CAaaDlg::calccrc(BYTE crcbuf)//CRC 校验
{
BYTE i;
crc=crc ^ crcbuf;
for(i=0;i<8;i++)
{
BYTE TT;
TT=crc&1;
crc=crc>>1;
crc=crc&0x7fff;
if (TT==1)
crc=crc^0xa001;
crc=crc&0xffff;
}
}
void CAaaDlg::even(unsigned char command)
{
if (command & 0x1)
count++;
if (command & 0x2)
count++;
if (command & 0x4)
count++;
if (command & 0x8)
count++;
if (command & 0x10)
count++;
if (command & 0x20)
count++;
if (command & 0x40)
count++;
if (command & 0x80)
count++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -