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

📄 ser.cpp

📁 有关树WDM 驱动的编程.里面包含了许多实例,学习硬件的可以参考哦
💻 CPP
字号:
// Ser.cpp : implementation file
//

#include "stdafx.h"
#include "pctest.h"
#include "Ser.h"
#include "HexEdit.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CPctestApp theApp;
extern HANDLE	hDevice;
extern HANDLE	hDevice2;
extern PCHAR DynVxDName;
extern CHexEdit m_date1;
extern CHexEdit m_date2;
/////////////////////////////////////////////////////////////////////////////
// CSer dialog


CSer::CSer(CWnd* pParent /*=NULL*/)
	: CDialog(CSer::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSer)
	m_way = -1;
	//}}AFX_DATA_INIT
	m_d1=0x20000;
}


void CSer::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSer)
	DDX_Radio(pDX, IDC_RADIO3, m_way);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSer, CDialog)
	//{{AFX_MSG_MAP(CSer)
	ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
	ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
	ON_BN_CLICKED(IDC_RADIO5, OnRadio5)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSer message handlers

BOOL CSer::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
		if(hDevice==NULL)
	{
	hDevice = CreateFile(DynVxDName, 0,0,0,
                        CREATE_NEW, 
                        FILE_FLAG_DELETE_ON_CLOSE,
                        0);
	if (hDevice == INVALID_HANDLE_VALUE)
	{
		AfxMessageBox("请检查板卡和驱动程序");
       CDialog::OnCancel();
		return FALSE;
	}
	}

		m_date1.SubclassDlgItem(IDC_EDIT1, this );
	m_date1.m_bShowAddress=FALSE;
	m_date1.m_bShowHex=FALSE;
	m_date2.SubclassDlgItem(IDC_EDIT2, this );
	m_date2.m_bShowAddress=FALSE;
	m_date2.m_bShowHex=FALSE;
	m_date1.m_length=m_d1;
	m_date2.m_length=m_d1;
	m_date1. m_pData= (LPBYTE)malloc(m_d1);
	m_date2. m_pData= (LPBYTE)malloc(m_d1);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSer::OnRadio3() 
{
	// TODO: Add your control notification handler code here
		BYTE m_a=0x0;
	for(long x=0;x<m_d1;x++)
	{
	m_date1.m_pData[x] = m_a;
	}m_date1.m_bUpdate=TRUE;
		m_date1.m_bShowAddress=TRUE;
	m_date1.m_bShowHex=TRUE;
    m_date1.Invalidate ();
}

void CSer::OnRadio4() 
{
	// TODO: Add your control notification handler code here
		BYTE m_b=0xff;
	for(long x=0;x<m_d1;x++)
	{
		m_date1.m_pData[x] = m_b;
	}m_date1.m_bUpdate=TRUE;
		m_date1.m_bShowAddress=TRUE;
	m_date1.m_bShowHex=TRUE;
            m_date1.Invalidate ();
}

void CSer::OnRadio5() 
{
	// TODO: Add your control notification handler code here
	for(long x=0;x<m_d1;x++)
	{
		BYTE a=(BYTE)rand();
       	m_date1.m_pData[x] = a;
	}
	m_date1.m_bUpdate=TRUE;
		m_date1.m_bShowAddress=TRUE;
	m_date1.m_bShowHex=TRUE;
        m_date1.Invalidate ();
}

void CSer::OnOK() 
{
	// TODO: Add extra validation here
	if(hDevice!=NULL)
	{
	CloseHandle( hDevice);
	hDevice=NULL;
	}
	CDialog::OnOK();
}

⌨️ 快捷键说明

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