📄 setcurrent.cpp
字号:
// SetCurrent.cpp : implementation file
//
#include "stdafx.h"
#include "SHT11Transmit.h"
#include "SetCurrent.h"
#include "SHT11TransmitDlg.h"
#include "PCOMM.H"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// SetCurrent property page
IMPLEMENT_DYNCREATE(SetCurrent, CPropertyPage)
SetCurrent::SetCurrent() : CPropertyPage(SetCurrent::IDD)
{
//{{AFX_DATA_INIT(SetCurrent)
m_SetCurrent_Frequency = 0;
//}}AFX_DATA_INIT
}
SetCurrent::~SetCurrent()
{
}
void SetCurrent::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(SetCurrent)
DDX_Control(pDX, IDC_COMBO2, m_RHCurrent);
DDX_Control(pDX, IDC_COMBO1, m_CurrentSet);
DDX_Text(pDX, IDC_EDIT1, m_SetCurrent_Frequency);
DDV_MinMaxUInt(pDX, m_SetCurrent_Frequency, 0, 65535);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(SetCurrent, CPropertyPage)
//{{AFX_MSG_MAP(SetCurrent)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
ON_CBN_EDITCHANGE(IDC_COMBO1, OnEditchangeCombo1)
ON_WM_TIMER()
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
ON_CBN_EDITCHANGE(IDC_COMBO2, OnEditchangeCombo2)
ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// SetCurrent message handlers
BOOL SetCurrent::OnInitDialog()
{
CPropertyPage::OnInitDialog();
m_CurrentSet.AddString(_T("不标定"));
m_CurrentSet.AddString(_T("TC_4mA"));
m_CurrentSet.AddString(_T("TC_6mA"));
m_CurrentSet.AddString(_T("TC_8mA"));
m_CurrentSet.AddString(_T("TC_10mA"));
m_CurrentSet.AddString(_T("TC_12mA"));
m_CurrentSet.AddString(_T("TC_14mA"));
m_CurrentSet.AddString(_T("TC_16mA"));
m_CurrentSet.AddString(_T("TC_18mA"));
m_CurrentSet.AddString(_T("TC_20mA"));
m_CurrentSet.AddString(_T("Test_TC_5mA"));//5
m_CurrentSet.AddString(_T("Test_TC_7mA"));//
m_CurrentSet.AddString(_T("Test_TC_9mA"));//
m_CurrentSet.AddString(_T("Test_TC_11mA"));
m_CurrentSet.AddString(_T("Test_TC_13mA"));//
m_CurrentSet.AddString(_T("Test_TC_15mA"));
m_CurrentSet.AddString(_T("Test_TC_17mA"));//
m_CurrentSet.AddString(_T("Test_TC_19mA"));//
m_CurrentSet.SetCurSel(0);
m_RHCurrent.AddString(_T("不标定"));
m_RHCurrent.AddString(_T("RH_4mA"));
m_RHCurrent.AddString(_T("RH_6mA"));
m_RHCurrent.AddString(_T("RH_8mA"));
m_RHCurrent.AddString(_T("RH_10mA"));
m_RHCurrent.AddString(_T("RH_12mA"));
m_RHCurrent.AddString(_T("RH_14mA"));
m_RHCurrent.AddString(_T("RH_16mA"));
m_RHCurrent.AddString(_T("RH_18mA"));
m_RHCurrent.AddString(_T("RH_20mA"));
m_RHCurrent.AddString(_T("Test_RH_5mA"));//12
m_RHCurrent.AddString(_T("Test_RH_7mA"));//
m_RHCurrent.AddString(_T("Test_RH_9mA"));//
m_RHCurrent.AddString(_T("Test_RH_11mA"));
m_RHCurrent.AddString(_T("Test_RH_13mA"));//
m_RHCurrent.AddString(_T("Test_RH_15mA"));
m_RHCurrent.AddString(_T("Test_RH_17mA"));//
m_RHCurrent.AddString(_T("Test_RH_19mA"));//
m_RHCurrent.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
HBRUSH SetCurrent::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
return hbr;
}
void SetCurrent::OnButton2()
{
// 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(m_SetCurrent_Frequency < ADMaxvalue)
m_SetCurrent_Frequency ++;
else
{
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)0xAA;
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 >= 10) )//没有选择标定
{
AfxMessageBox("请先选择标定选项");
return;
}
if(m_SetCurrent_Frequency < ADMaxvalue)
m_SetCurrent_Frequency ++;
else
{
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)0xAA;
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::OnButton1()
{
// 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(m_SetCurrent_Frequency > ADMinvalue )
m_SetCurrent_Frequency --;
else
{
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)0xAA;
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 >= 10) )//没有选择标定
{
AfxMessageBox("请先选择标定选项");
return;
}
if(m_SetCurrent_Frequency > ADMinvalue )
m_SetCurrent_Frequency --;
else
{
AfxMessageBox("请调整硬件!");
return;
}
CString str;
str.Empty();
str.Format("%4d",m_SetCurrent_Frequency);
//SetDlgItemText(IDC_EDIT1,str);
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)0xAA;
TX0.fl = (float)m_SetCurrent_Frequency;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -