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

📄 irdadialog.cpp

📁 郎顿51开发板上位机代码 帮助你快速开发工控程序
💻 CPP
字号:
// IRDADialog.cpp : implementation file
//

#include "stdafx.h"
#include "dvp.h"
#include "IRDADialog.h"

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

/////////////////////////////////////////////////////////////////////////////
// CIRDADialog dialog


CIRDADialog::CIRDADialog(CWnd* pParent /*=NULL*/)
	: CDialog(CIRDADialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CIRDADialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CIRDADialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CIRDADialog)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CIRDADialog, CDialog)
	//{{AFX_MSG_MAP(CIRDADialog)
	ON_BN_CLICKED(IDC_IRDA_SET, OnIrdaSet)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CIRDADialog message handlers
BOOL CIRDADialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	//设置红外波形显示
	m_IRDA_CurveDev = new CurveDevice(this);
	m_IRDA_CurveDev->SetWindowPos(NULL,20,20,1,100,SWP_NOSIZE);
	m_IRDA_CurveDev->CD_SetWorkMode(CD_REALTIME);
	m_IRDA_CurveDev->CD_SetTimer(100);
	m_IRDA_CurveDev->CD_SetMaxNumber(15);
	m_IRDA_CurveDev->CD_SetRecordLength(300);
	m_IRDA_CurveDev->CD_SetPlaceMode(CD_HORIZONTAL);
	//设置比较器波形显示
	m_COMP_CurveDev = new CurveDevice(this);
	m_COMP_CurveDev->SetWindowPos(NULL,20,170,1,100,SWP_NOSIZE);
	m_COMP_CurveDev->CD_SetWorkMode(CD_REALTIME);
	m_COMP_CurveDev->CD_SetTimer(100);
	m_COMP_CurveDev->CD_SetMaxNumber(15);
	m_COMP_CurveDev->CD_SetRecordLength(300);
	m_COMP_CurveDev->CD_SetPlaceMode(CD_HORIZONTAL);
		
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

//处理命令
bool CIRDADialog::DealCmd(const unsigned char * cmd)
{
	unsigned char data = cmd[3];
	unsigned char dev  = cmd[2];

	if(dev == 0x06) //红外设备号为6
	{
		if(data == 0)
		{
			m_IRDA_CurveDev->CD_SetCurrentNumber(0);
		}
		else if(data == 1)
		{
			m_IRDA_CurveDev->CD_SetCurrentNumber(10);
		}
	
	}
	if(dev == 0x09) //比较器设备号为8
	{
		if(data == 0)
		{
			m_COMP_CurveDev->CD_SetCurrentNumber(0);
		}
		else if(data == 1)
		{
			m_COMP_CurveDev->CD_SetCurrentNumber(10);
		}
	
	}
	return true;
}


void CIRDADialog::OnCancel() 
{

	CDialog::OnCancel();
}

//响应红外状态写事件
void CIRDADialog::OnIrdaSet() 
{
	unsigned char enabled = 0;
	CButton * ck = NULL;
	ck = (CButton *)this->GetDlgItem(IDC_IRDA_CHECK);
	if(ck->GetCheck())
		enabled = 1;
	
	unsigned char buf[] = {0x08,0x04,0x81,0x06,enabled,0x00,0x09};
	buf[5] = MakeVerify(&buf[1] , 4);	
	DvpView->SendData(buf , 7);
	
}

⌨️ 快捷键说明

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