📄 inite2.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 + -