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

📄 mode.cpp

📁 vc数据采集程序,有曲线现实和数据显示以及采集卡设置
💻 CPP
字号:
// MODE.cpp : implementation file
//

#include "stdafx.h"
#include "HK_PCI812F_VC.h"
#include "MODE.h"
#include "channelWave.h"
#include "MainFrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMODE dialog


CMODE::CMODE(CWnd* pParent /*=NULL*/)
	: CDialog(CMODE::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMODE)
	m_VInterrupt = FALSE;
	m_VChannal = 16;
	m_VsamplePeriod = 15;
	m_D16_Scan = FALSE;
	m_D17_Clock = FALSE;
	m_D18_Diference = FALSE;
	m_D21_Touch5 = FALSE;
	m_D20_Touch4 = FALSE;
	m_D22_Frequency6 = FALSE;
	m_D23_Frequency7 = FALSE;
	m_D2021_SoftTouch = -1;
	D16=D17=D18=D20=D21=D22=D23=0;
	Timer=TimerH=TimerL=0;
	rww=0;
	Channel=1;
	//}}AFX_DATA_INIT
}


void CMODE::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMODE)
	DDX_Control(pDX, IDC_RWW_6TwoFREQUENCY, m_TowFrequency);
	DDX_Control(pDX, IDC_EDIT_CHANNAL, m_CChannel);
	DDX_Check(pDX, IDC_RWW_INTERRUPT, m_VInterrupt);
	DDX_Text(pDX, IDC_EDIT_CHANNAL, m_VChannal);
	DDV_MinMaxInt(pDX, m_VChannal, 1, 32);
	DDX_Text(pDX, IDC_EDIT_SAMPLEPERIOD, m_VsamplePeriod);
	DDV_MinMaxInt(pDX, m_VsamplePeriod, 0, 1023);
	DDX_Check(pDX, IDC_RWW_0SCAN, m_D16_Scan);
	DDX_Check(pDX, IDC_RWW_1CLOCK, m_D17_Clock);
	DDX_Check(pDX, IDC_RWW_2DIFERENCE, m_D18_Diference);
	DDX_Radio(pDX, IDC_RWW_4SOFTTOUCH, m_D2021_SoftTouch);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMODE, CDialog)
	//{{AFX_MSG_MAP(CMODE)
	ON_BN_CLICKED(IDC_RWW_0SCAN, OnRww0scan)
	ON_BN_CLICKED(IDC_RWW_1CLOCK, OnRww1clock)
	ON_BN_CLICKED(IDC_RWW_2DIFERENCE, OnRww2diference)
	ON_BN_CLICKED(IDC_RWW_INTERRUPT, OnRwwInterrupt)
	ON_BN_CLICKED(IDC_RWW_4SOFTTOUCH, OnRww4softtouch)
	ON_BN_CLICKED(IDC_RWW_4ExteriorTouch, OnRWW4ExteriorTouch)
	ON_BN_CLICKED(IDC_RWW_4TimeTouch, OnRWW4TimeTouch)
	ON_BN_CLICKED(IDC_RWW_6TwoFREQUENCY, OnRWW6TwoFREQUENCY)
	ON_BN_CLICKED(IDC_RWW_6FourFREQUENCY, OnRWW6FourFREQUENCY)
	ON_BN_CLICKED(IDC_RWW_6EightFREQUENCY, OnRWW6EightFREQUENCY)
	ON_BN_CLICKED(IDC_RWW_6SixteenFREQUENCY, OnRWW6SixteenFREQUENCY)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMODE message handlers

void CMODE::OnRww0scan() 
{
	// TODO: Add your control notification handler code here

	UpdateData();
	if( m_D16_Scan )
	{
		D16=1;
		m_D16_Scan=TRUE;
		p4=1;
	}

	else
	{
		D16=0;
		m_D16_Scan=FALSE;
		p4=0;
	}
	
}

void CMODE::OnRww1clock() 
{
	// TODO: Add your control notification handler code here
	if(!m_D17_Clock)
	{
		D17=1;
		m_D17_Clock=true;
		p2=0;
	}
	else
	{
		D17=0;
		m_D17_Clock=FALSE;
		p2=1;
	}
}

void CMODE::OnRww2diference() 
{
	// TODO: Add your control notification handler code here
	if	(!m_D18_Diference)
	{
		D18=1;
		m_D18_Diference=TRUE;
		p3=1;
	}
	else 
	{
		D18=0;
		m_D18_Diference=FALSE;
		p3=0;
	}
}


void CMODE::OnRwwInterrupt() 
{
	// TODO: Add your control notification handler code here
	
}

void CMODE::OnOK() 
{
	// TODO: Add extra validation here
    
	UpdateData();
/////////////////////////////////////////////////////////////////////////////////////////
    //采样周期
	Timer=m_VsamplePeriod;
	if(Timer>0 &&Timer<1023)
	{
	TimerL=Timer%256;
	TimerH=Timer/256;
	}
	Channel=m_VChannal;
	if((Channel>32||Channel<0))
	{
		AfxMessageBox("你输入了一个错误的通道扫描号");
	}
	rww=D16+D17*2+D18*4+D20*16+D21*32+D22*64+D23*128;
	CDialog::OnOK();
}

void CMODE::OnRww4softtouch() 
{
	// TODO: Add your control notification handler code here
		UpdateData();
        D21=0;
		D20=0;
		p1=0;
}

void CMODE::OnRWW4ExteriorTouch() 
{
	// TODO: Add your control notification handler code here
		UpdateData();
		D20=1;
		D21=0;
		p1=1;
}

void CMODE::OnRWW4TimeTouch() 
{
	// TODO: Add your control notification handler code here
		UpdateData();
		D20=0;
		D21=1;	
		p1=2;
}

void CMODE::OnRWW6TwoFREQUENCY() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	D22=0;
	D23=0;
	p5=2;
}

void CMODE::OnRWW6FourFREQUENCY() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	D22=1;
	D23=0;
	p5=4;
}

void CMODE::OnRWW6EightFREQUENCY() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	D22=0;
	D23=1;
	p5=8;
}

void CMODE::OnRWW6SixteenFREQUENCY() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	D22=1;
	D23=1;
	p5=16;
}

⌨️ 快捷键说明

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