📄 serialporttestdlg.cpp
字号:
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x33+0x31+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x33,0x31,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/******************************************************************************/
/* 关闭激光按纽 */
/******************************************************************************/
void CSerialPortTestDlg::OnBnClickedButton15()//关闭激光
{
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
UpdateData(TRUE); //读入编辑框中的数据
m_strSComm="Laser_Close";
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x33+0x32+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x33,0x32,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/**************************************DA区域**********************************/
/******************************************************************************/
/* 读取上限按纽 */
/******************************************************************************/
void CSerialPortTestDlg::OnBnClickedButton2()//读取上限
{
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
UpdateData(TRUE); //读入编辑框中的数据
m_strSComm="UP_DA";
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x32+0x37+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x32,0x37,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/******************************************************************************/
/* 读取下限按纽 */
/******************************************************************************/
void CSerialPortTestDlg::OnBnClickedButton10()//读取下限
{
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
UpdateData(TRUE); //读入编辑框中的数据
m_strSComm="DOWN_DA";
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x32+0x38+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x32,0x38,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/****************************4-20mA区域*****************************/
void CSerialPortTestDlg::OnBnClickedButton17()//设定上限
{
// TODO: 在此添加控件通知处理程序代码
}
void CSerialPortTestDlg::OnBnClickedButton18()//设定下限
{
// TODO: 在此添加控件通知处理程序代码
}
void CSerialPortTestDlg::OnBnClickedButton8()//DA区域-零点加
{
// TODO: 在此添加控件通知处理程序代码
}
void CSerialPortTestDlg::OnBnClickedButton9()//DA区域-零点减
{
// TODO: 在此添加控件通知处理程序代码
}
void CSerialPortTestDlg::OnBnClickedxielv()//DA区域-斜率
{
// TODO: 在此添加控件通知处理程序代码
}
/**************************************温度标定********************************/
/************************************************************************/
/* 标定按纽 */
/************************************************************************/
void CSerialPortTestDlg::OnBnClickedbiaoding()
{
// TODO: 在此添加控件通知处理程序代码
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
UpdateData(TRUE); //读入编辑框中的数据
m_strSComm="zero1";
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x34+0x35+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x34,0x35,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/************************************************************************/
/* 设置环温和零点按纽 */
/************************************************************************/
void CSerialPortTestDlg::OnBnClickedhuanwen()
{
// TODO: 在此添加控件通知处理程序代码
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
m_strSComm="zero";
UpdateData(TRUE); //读入编辑框中的数据
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
int nDAslope=(int)(atof((LPCTSTR)m_strEditHuanwen)*10);//获取环境温度
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x33+0x35+0x30+0x33
+(nDAslope/100%10+0x30)+(nDAslope/10%10+0x30)+(nDAslope%10+0x30);
buf_str1=ASCII_HEX(buf_str);
char cSenddate[14]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x33,0x35,0x30,0x33,
nDAslope/100%10+0x30,nDAslope/10%10+0x30,nDAslope%10+0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,14);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/************************************************************************/
/* 标定第一点温度按纽 */
/************************************************************************/
void CSerialPortTestDlg::OnBnClickedwendu()
{
// TODO: 在此添加控件通知处理程序代码
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
UpdateData(TRUE); //读入编辑框中的数据
m_strSComm="zero";
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x33+0x36+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x33,0x36,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/************************************************************************/
/* 标定第二点温度按纽 */
/************************************************************************/
void CSerialPortTestDlg::OnBnClickedwendu2()
{
// TODO: 在此添加控件通知处理程序代码
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
UpdateData(TRUE); //读入编辑框中的数据
m_strSComm="zero";
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x33+0x37+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x33,0x37,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/************************************************************************/
/* 标定第三点温度按纽 */
/************************************************************************/
void CSerialPortTestDlg::OnBnClickedwendu3()
{
// TODO: 在此添加控件通知处理程序代码
unsigned char buf_str;
unsigned int buf_str1;
if(!m_bSerialPortOpened) return; //检查串口是否打开
UpdateData(TRUE); //读入编辑框中的数据
m_strSComm="zero";
int nBorte=atoi((LPCTSTR)m_strEditAdd);//获取地址
buf_str=(nBorte/10%10+0x30)+(nBorte%10+0x30)+0x33+0x38+0x30+0x30;
buf_str1=ASCII_HEX(buf_str);
char cSenddate[11]={0x3A,nBorte/10%10+0x30,nBorte%10+0x30,0x33,0x38,0x30,0x30,
buf_str1/256,buf_str1%256,0x0D,0x0A};
m_SerialPort.WriteToPort(cSenddate,11);//发送数据
RXD_EDIT.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT.Clear();//清除全部
RXD_EDIT2.SetSel(0,-1);//选择编辑框全部正文
RXD_EDIT2.Clear();//清除全部
UpdateData(TRUE); //更新
}
/******************************************************************************/
/* 十六进制数转ASCII码 */
/******************************************************************************/
unsigned int CSerialPortTestDlg:: ASCII_HEX(unsigned char HEX_data)
{
// TODO: 在此添加控件通知处理程序代码
unsigned int ASC_data=0;
if((HEX_data&0x0F)<=9) ASC_data=(int)(HEX_data&0x0F)+0x30;
else if((HEX_data&0x0F)>9) ASC_data=(int)(HEX_data&0x0F)+0x37;
if((HEX_data&0xF0)<=0x90) ASC_data=ASC_data+(int)(HEX_data&0xF0)*16+0x3000;
else if((HEX_data&0xF0)>0x90) ASC_data=ASC_data+(int)(HEX_data&0xF0)*16+0x3700;
return ASC_data;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -