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

📄 setcurrent.cpp

📁 最近做的一款温湿度变送器的上位软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			SendFloatV(Num);
			
			Num +=4;
			TX_check = 0x00;
			for(i = 1; i < Num; i++)
			{
				TX_check ^= SetCommData.TxBuff[i];
			}				
			SetCommData.TxBuff[Num++] = (TX_check >>4) & 0x0F;
			SetCommData.TxBuff[Num++] = TX_check & 0x0F;
			SetCommData.TxBuff[Num++]  = (char)0xFE;
			SetCommData.TxBuff[Num++]  = (char)0xFD;
			sio_write(SetCommData.port,SetCommData.TxBuff,Num);  //把输出缓冲区中的数据发送出去
		}	
	}
	else
	{
		AfxMessageBox("请先选择标定选项");
			return;
	}
}

void SetCurrent::OnButton3() 
{
	// TODO: Add your control notification handler code here
	char TX_check = 0X00;	
	if(RHFlag == 1)//标定湿度电流
	{
			PWMNum = m_RHCurrent.GetCurSel();		
	if((PWMNum == 0)	|| (PWMNum >=10))//没有选择标定
	{
			AfxMessageBox("请先选择标定选项");
			return;
	}
	if(SetCommData.ret_open != SIO_OK)
	{
	    AfxMessageBox("串口没有打开,请打开串口");
		return;
	}
	else
    { 
			int Num,i;
			Num = 0;
			PWMNum += 0x20;
			SetCommData.TxBuff[Num++]  = (char)0xFF;
			SetCommData.TxBuff[Num++]  = (char)0x03;
			SetCommData.TxBuff[Num++]  = (char)0x04;
			SetCommData.TxBuff[Num++]  = (char)PWMNum;
			SetCommData.TxBuff[Num++]  = (char)0x5A;
							
			TX0.fl = (float)m_SetCurrent_Frequency;
			SendFloatV(Num);
			
			Num +=4;
			TX_check = 0x00;
			for(i = 1; i < Num; i++)
			{
				TX_check ^= SetCommData.TxBuff[i];
			}				
			SetCommData.TxBuff[Num++] = (TX_check >>4) & 0x0F;
			SetCommData.TxBuff[Num++] = TX_check & 0x0F;
			SetCommData.TxBuff[Num++]  = (char)0xFE;
			SetCommData.TxBuff[Num++]  = (char)0xFD;
			sio_write(SetCommData.port,SetCommData.TxBuff,Num);  //把输出缓冲区中的数据发送出去
	}

	}
	else if(RHFlag == 0)
	{
		PWMNum = m_CurrentSet.GetCurSel();		
	if((PWMNum == 0)	|| (PWMNum >= 3))//没有选择标定
	{
			AfxMessageBox("请先选择标定选项");
			return;
	}
	if(SetCommData.ret_open != SIO_OK)
	{
	    AfxMessageBox("串口没有打开,请打开串口");
		return;
	}
	else
    { 
			int Num,i;
			Num = 0;

			SetCommData.TxBuff[Num++]  = (char)0xFF;
			SetCommData.TxBuff[Num++]  = (char)0x03;
			SetCommData.TxBuff[Num++]  = (char)0x04;
			SetCommData.TxBuff[Num++]  = (char)PWMNum;
			SetCommData.TxBuff[Num++]  = (char)0x5A;
							
			TX0.fl = (float)m_SetCurrent_Frequency;
			SendFloatV(Num);
			
			Num +=4;
			TX_check = 0x00;
			for(i = 1; i < Num; i++)
			{
				TX_check ^= SetCommData.TxBuff[i];
			}				
			SetCommData.TxBuff[Num++] = (TX_check >>4) & 0x0F;
			SetCommData.TxBuff[Num++] = TX_check & 0x0F;
			SetCommData.TxBuff[Num++]  = (char)0xFE;
			SetCommData.TxBuff[Num++]  = (char)0xFD;
			sio_write(SetCommData.port,SetCommData.TxBuff,Num);  //把输出缓冲区中的数据发送出去
	}	
	}
	else
	{
		AfxMessageBox("请先选择标定选项");
			return;
	}
	
	
}

void SetCurrent::OnEditchangeCombo1() 
{
	// TODO: Add your control notification handler code here
	
}



void SetCurrent::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	char ReciveFlag;
	if(DisPlaySysTemFlag == 2)
	{
		DisPlaySysTemFlag = 0;
		m_SetCurrent_Frequency = envionment_variables.PWM_OUTNUM;	
		ReciveFlag = SetCommData.ReciveBuff[3];
		CString str;
		str.Empty();
		//2008 07 08 修改 
		str.Format("%4d",envionment_variables.PWM_OUTNUM);
		//SetDlgItemText(IDC_EDIT1,str);

				
		KillTimer(5);
	}	
	CPropertyPage::OnTimer(nIDEvent);
}

void SetCurrent::OnSelchangeCombo1() 
{
	// TODO: Add your control notification handler code here
	char TX_check = 0X00;
	RHFlag = 0;
	PWMNum = m_CurrentSet.GetCurSel();		
	if(PWMNum == 0)
	{
		//	AfxMessageBox("请先选择标定选项");
			return;
	}
	if(SetCommData.ret_open != SIO_OK)
	{
	    AfxMessageBox("串口没有打开,请打开串口");
		return;
	}
	else
    { 
			int Num,i;
			Num = 0;

	        sio_flush(SetCommData.port,2);   //清空输入输出缓冲区								
			SetCommData.TxBuff[Num++]  = (char)0xFF;
			SetCommData.TxBuff[Num++]  = (char)0x03;
			SetCommData.TxBuff[Num++]  = (char)0x04;
			SetCommData.TxBuff[Num++]  = (char)PWMNum;
			SetCommData.TxBuff[Num++]  = (char)0x55;

			TX_check = 0x00;
			for(i = 1; i < Num; i++)
			{
				TX_check ^= SetCommData.TxBuff[i];
			}

			SetCommData.TxBuff[Num++] = (TX_check >>4) & 0x0F;
			SetCommData.TxBuff[Num++] = TX_check & 0x0F;
			SetCommData.TxBuff[Num++]  = (char)0xFE;
			SetCommData.TxBuff[Num++]  = (char)0xFD;											
			sio_write(SetCommData.port,SetCommData.TxBuff,Num);  //把输出缓冲区中的数据发送出去
	}
	SetTimer(5,100,NULL);
	
}




void SetCurrent::OnButton4() 
{
	// TODO: Add your control notification handler code here
	char TX_check = 0X00;	
	PWMNum = m_CurrentSet.GetCurSel();		
	PWMNum += 1;
	if(SetCommData.ret_open != SIO_OK)
	{
	    AfxMessageBox("串口没有打开,请打开串口");
		return;
	}
	else
    { 
			int Num,i;
			Num = 0;

			SetCommData.TxBuff[Num++]  = (char)0xFF;
			SetCommData.TxBuff[Num++]  = (char)0x03;
			SetCommData.TxBuff[Num++]  = (char)0x04;
			SetCommData.TxBuff[Num++]  = (char)PWMNum;
			SetCommData.TxBuff[Num++]  = (char)0x5B;
							
			TX0.fl = (float)m_SetCurrent_Frequency;
			SendFloatV(Num);
			
			Num +=4;
			TX_check = 0x00;
			for(i = 1; i < Num; i++)
			{
				TX_check ^= SetCommData.TxBuff[i];
			}				
			SetCommData.TxBuff[Num++] = (TX_check >>4) & 0x0F;
			SetCommData.TxBuff[Num++] = TX_check & 0x0F;
			SetCommData.TxBuff[Num++]  = (char)0xFE;
			SetCommData.TxBuff[Num++]  = (char)0xFD;
			sio_write(SetCommData.port,SetCommData.TxBuff,Num);  //把输出缓冲区中的数据发送出去
	}	
	
}

void SetCurrent::OnButton5() 
{
	// TODO: Add your control notification handler code here
	char TX_check = 0X00;	

	PWMNum = m_CurrentSet.GetCurSel();		
	PWMNum += 1;
	if(SetCommData.ret_open != SIO_OK)
	{
	    AfxMessageBox("串口没有打开,请打开串口");
		return;
	}
	else
    { 
			int Num,i;
			Num = 0;

			SetCommData.TxBuff[Num++]  = (char)0xFF;
			SetCommData.TxBuff[Num++]  = (char)0x03;
			SetCommData.TxBuff[Num++]  = (char)0x04;
			SetCommData.TxBuff[Num++]  = (char)PWMNum;
			SetCommData.TxBuff[Num++]  = (char)0x5C;
							
			TX0.fl = (float)m_SetCurrent_Frequency;
			SendFloatV(Num);
			
			Num +=4;
			TX_check = 0x00;
			for(i = 1; i < Num; i++)
			{
				TX_check ^= SetCommData.TxBuff[i];
			}				
			SetCommData.TxBuff[Num++] = (TX_check >>4) & 0x0F;
			SetCommData.TxBuff[Num++] = TX_check & 0x0F;
			SetCommData.TxBuff[Num++]  = (char)0xFE;
			SetCommData.TxBuff[Num++]  = (char)0xFD;
			sio_write(SetCommData.port,SetCommData.TxBuff,Num);  //把输出缓冲区中的数据发送出去
	}	
	
}

void SetCurrent::OnButton6() 
{
	
}

void SetCurrent::OnEditchangeCombo2() 
{
	// TODO: Add your control notification handler code here
	
}

void SetCurrent::OnSelchangeCombo2() 
{
	// TODO: Add your control notification handler code here
	// TODO: Add your control notification handler code here
	char TX_check = 0X00;
	//GetDlgItemText(IDC_COMBO1,m_CurrentSet);
    //PWMNum = atoi(m_CurrentSet);
	RHFlag = 1;
	PWMNum = m_RHCurrent.GetCurSel();		
	if(PWMNum == 0)
	{
		//	AfxMessageBox("请先选择标定选项");
			return;
	}
	if(SetCommData.ret_open != SIO_OK)
	{
	    AfxMessageBox("串口没有打开,请打开串口");
		return;
	}
	else
    { 
			int Num,i;
			Num = 0;
			PWMNum += 0x20;
	        sio_flush(SetCommData.port,2);   //清空输入输出缓冲区								
			SetCommData.TxBuff[Num++]  = (char)0xFF;
			SetCommData.TxBuff[Num++]  = (char)0x03;
			SetCommData.TxBuff[Num++]  = (char)0x04;
			SetCommData.TxBuff[Num++]  = (char)PWMNum;
			SetCommData.TxBuff[Num++]  = (char)0x55;

			TX_check = 0x00;
			for(i = 1; i < Num; i++)
			{
				TX_check ^= SetCommData.TxBuff[i];
			}

			SetCommData.TxBuff[Num++] = (TX_check >>4) & 0x0F;
			SetCommData.TxBuff[Num++] = TX_check & 0x0F;
			SetCommData.TxBuff[Num++]  = (char)0xFE;
			SetCommData.TxBuff[Num++]  = (char)0xFD;											
			sio_write(SetCommData.port,SetCommData.TxBuff,Num);  //把输出缓冲区中的数据发送出去
	}
	SetTimer(5,100,NULL);
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -