⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialporttestdlg.cpp

📁 串口调试软件(附带源码)
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	
	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 + -