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

📄 inite2.cpp

📁 The Lite Evaluation/Demonstration Kit is intended to illustrate use of the AN3042. The AN3042 is c
💻 CPP
字号:
// InitE2.cpp : implementation file
//

#include "stdafx.h"
#include "Test3042.h"
#include "InitE2.h"

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

/////////////////////////////////////////////////////////////////////////////
// InitE2 dialog


InitE2::InitE2(CWnd* pParent /*=NULL*/)
	: CDialog(InitE2::IDD, pParent)
{
	//{{AFX_DATA_INIT(InitE2)
	m_ResHold = FALSE;
	m_VenID = _T("");
	m_DevID = _T("");
	m_SubSysVenID = _T("");
	m_SubSysDevID = _T("");
	m_RevisionID = _T("");
	m_MaxLat = _T("");
	m_MinGnt = _T("");
	m_ClassCode = _T("");
	m_BusMaster = FALSE;
	m_RadioInt = -1;
	//}}AFX_DATA_INIT
}


void InitE2::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(InitE2)
	DDX_Control(pDX, IDC_COMBO2, m_CBoxLocBusCfg);
	DDX_Check(pDX, IDC_CHECK1, m_ResHold);
	DDX_Text(pDX, IDC_EDIT1, m_VenID);
	DDV_MaxChars(pDX, m_VenID, 4);
	DDX_Text(pDX, IDC_EDIT2, m_DevID);
	DDV_MaxChars(pDX, m_DevID, 4);
	DDX_Text(pDX, IDC_EDIT3, m_SubSysVenID);
	DDV_MaxChars(pDX, m_SubSysVenID, 4);
	DDX_Text(pDX, IDC_EDIT4, m_SubSysDevID);
	DDV_MaxChars(pDX, m_SubSysDevID, 4);
	DDX_Text(pDX, IDC_EDIT5, m_RevisionID);
	DDV_MaxChars(pDX, m_RevisionID, 2);
	DDX_Text(pDX, IDC_EDIT6, m_MaxLat);
	DDV_MaxChars(pDX, m_MaxLat, 2);
	DDX_Text(pDX, IDC_EDIT7, m_MinGnt);
	DDV_MaxChars(pDX, m_MinGnt, 2);
	DDX_Text(pDX, IDC_EDIT8, m_ClassCode);
	DDV_MaxChars(pDX, m_ClassCode, 6);
	DDX_Check(pDX, IDC_CHECK6, m_BusMaster);
	DDX_Radio(pDX, IDC_RADIO_INT, m_RadioInt);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(InitE2, CDialog)
	//{{AFX_MSG_MAP(InitE2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// InitE2 message handlers

BOOL InitE2::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_CBoxLocBusCfg.AddString("Texas Inst TMS320C30");
	m_CBoxLocBusCfg.AddString("Intel i960");
	m_CBoxLocBusCfg.AddString("Intel i486");
	m_CBoxLocBusCfg.AddString("Intel 80186");
	m_CBoxLocBusCfg.AddString("Motorola MPC860");
	m_CBoxLocBusCfg.AddString("Motorola QUICC 68360");
	m_CBoxLocBusCfg.AddString("Motorola 68040");
	m_CBoxLocBusCfg.SetCurSel(4);

	m_ResHold = TRUE;
	m_VenID = _T("12BE");
	m_DevID = _T("3042");
	m_SubSysVenID = _T("12BE");
	m_SubSysDevID = _T("3042");
	m_RevisionID = _T("01");
	m_MaxLat = _T("00");
	m_MinGnt = _T("00");
	m_ClassCode = _T("0e0001");
	m_RadioInt = 0; // no INTs enabled
	UpdateData(FALSE);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void InitE2::OnOK() 
{
	int retErr = 0;

	UpdateData(TRUE);
	m_ucResHold = (m_ResHold) ? 0x1 : 0x0;
	switch(m_CBoxLocBusCfg.GetCurSel())
	{
	case 0: m_usCBoxLocBusCfg = 0x0A90; break;
	case 1: m_usCBoxLocBusCfg = 0x0A00; break;
	case 2: m_usCBoxLocBusCfg = 0x6A00; break;
	case 3: m_usCBoxLocBusCfg = 0x2D21; break;
	case 4: m_usCBoxLocBusCfg = 0x0B50; break;
	case 5: m_usCBoxLocBusCfg = 0x8B18; break;
	case 6: m_usCBoxLocBusCfg = 0x0B50; break;
	default: m_usCBoxLocBusCfg = 0x0A90; break;
	}

	if(!nScanHex(m_VenID, &m_usVenID))
		retErr=1;
	if(!nScanHex(m_DevID, &m_usDevID))
		retErr=1;
	if(!nScanHex(m_SubSysVenID, &m_usSubSysVenID))
		retErr=1;
	if(!nScanHex(m_SubSysDevID, &m_usSubSysDevID)) 
		retErr=1;
	if(!nScanHex(m_RevisionID, &m_usRevisionID)) 
		retErr=1;
	if(!nScanHex(m_MaxLat, &m_usMaxLat)) 
		retErr=1;
	if(!nScanHex(m_MinGnt, &m_usMinGnt)) 
		retErr=1;
	if(!nScanHex(m_ClassCode, &m_uiClassCode)) 
		retErr=1;
	m_usIntPin = m_RadioInt;
	if(m_BusMaster)
		m_usIntPin |= 0x80;

	if(retErr)
	{
		MessageBox("Please enter valid Hex values.");
		return;
	}

	CDialog::OnOK();
}

int InitE2::nScanHex(LPCSTR cBuffer, USHORT* pData)
{
	UINT uiVal;
	if (sscanf(cBuffer, "%4x", &uiVal))
	{
		*pData = (USHORT)uiVal;
		return(1);
	}
	return(0);
}


int InitE2::nScanHex(LPCSTR cBuffer, UINT* pData)
{
	UINT uiVal;
	if (sscanf(cBuffer, "%6x", &uiVal))
	{
		*pData = (UINT)uiVal;
		return(1);
	}
	return(0);
}

⌨️ 快捷键说明

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