📄 commtestliudlg.cpp
字号:
m_ChannelValue7=Channel[6];
m_ChannelValue8=Channel[7];
m_ChannelValue9=Channel[8];
m_ChannelValue10=Channel[9];
Fo=buffer.GetAt(head+849);
Th=buffer.GetAt(head+850);
Hi=buffer.GetAt(head+851);
Lo=buffer.GetAt(head+852);
long temp;
temp=((Fo<<24)+(Th<<16)+(Hi<<8)+Lo);
m_Frequency=*((float*)(&temp));
CString strLong;
strLong.Format("%2.2d号机数据\n",m_Id);//下位机ID
CString strTemper;//放一行AD数
strTemper="";
CString tempTen;//十进制
m_Sampling+=strLong;
for(i=0;i<10;i++)
{ strLong.Format("%2.2d||",i);//此为通道数
strTemper="";
for(k=0;k<40;k++)
{ tempTen.Format("%2d ",Ad[i][k]);
strTemper+=tempTen;
if(k==19)
strTemper+="\n ";
}
// MessageBox(m_Sampling);
m_Sampling+=strLong+strTemper+'\n';
// UpdateData(FALSE); //更新编辑框内容
// MessageBox(m_Sampling);
}
///////
}
buffer.RemoveAll();
}
}
}
UpdateData(FALSE); //更新编辑框内容
return;
}
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnSend()
{
// TODO: Add your control notification handler code here
}
void CCommTestLiuDlg::OnClear()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_ReceiveData.Empty();//
m_Sampling.Empty();//
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnReceiveAd()
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
data=(char*)(&m_SendId);
buf.Add(data[0]);
buf.Add('B');// 下位机发送A/D命令
buf.Add('B');
buf.Add('B');
buf.Add('B');
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnReceiveAll()
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
data=(char*)(&m_SendId);
buf.Add(data[0]);
buf.Add('A');// 下位机全部发送命令
buf.Add('A');
buf.Add('A');
buf.Add('A');
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnReceiveChannelValue()
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
data=(char*)(&m_SendId);
buf.Add(data[0]);
buf.Add('C');// 召唤下位机发送A/D命令
buf.Add('C');
buf.Add('C');
buf.Add('C');
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnReceiveFrequency()
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
data=(char*)(&m_SendId);
buf.Add(data[0]);
buf.Add('D');//下位机发送频率命令
buf.Add('D');
buf.Add('D');
buf.Add('D');
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//OnSimulate();
//OnSimu();
OnReceiveAll();
CDialog::OnTimer(nIDEvent);
}
void CCommTestLiuDlg::OnCheckautosend()
{
// TODO: Add your control notification handler code here
m_bAutoSend=!m_bAutoSend;
if(m_bAutoSend)
{
SetTimer(1,1000,NULL);//时间为1000毫秒
}
else
{
KillTimer(1); //取消定时
}
}
void CCommTestLiuDlg::OnSimulate()//模拟下位机发送频率命令
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
int i;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
buf.Add('D');//模拟下位机发送频率命令
buf.Add('D');
buf.Add('D');
buf.Add('D');
data=(char*)(&m_SendId);
buf.Add(data[0]);
data=(char*)(&m_SendFrequency);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnSimu()//模拟下位机发通道值命令
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
int i;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
buf.Add('C');//模拟下位机发通道值命令
buf.Add('C');
buf.Add('C');
buf.Add('C');
data=(char*)(&m_SendId);
buf.Add(data[0]);
data=(char*)(&m_ChannelParameter1);
for(i=3;i>=0;i--)//先发送高位
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter2);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter3);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter4);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter5);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter6);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter7);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter8);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter9);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter10);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnCheckautosend2()
{
// TODO: Add your control notification handler code here
}
void CCommTestLiuDlg::OnGiveparameter()
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
int i;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
data=(char*)(&m_SendId);
buf.Add(data[0]);
buf.Add('F');//给下位机下通道系数
buf.Add('F');
buf.Add('F');
buf.Add('F');
data=(char*)(&m_ChannelParameter1);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter2);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter3);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter4);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter5);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter6);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter7);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter8);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter9);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_ChannelParameter10);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
void CCommTestLiuDlg::OnGivefixedvalue()
{
// TODO: Add your control notification handler code here
CByteArray buf;
char *data;
int i;
if(!m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE); //读取编辑框数据
buf.Add('$');//串头:$$$$
buf.Add('$');
buf.Add('$');
buf.Add('$');
data=(char*)(&m_SendId);
buf.Add(data[0]);
buf.Add('E');//给下位机发送频率和端电压命令
buf.Add('E');
buf.Add('E');
buf.Add('E');
data=(char*)(&m_SendFrequency);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
data=(char*)(&m_SendVoltage);
for(i=3;i>=0;i--)
{
buf.Add(data[i]);
}
buf.Add('*');
buf.Add('*');
buf.Add('*');
buf.Add('*');
m_Comm.SetOutput(COleVariant(buf));
buf.RemoveAll();
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -