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

📄 sjaregview.cpp

📁 CAN__组建现场总线系统设计技术(光盘)
💻 CPP
字号:
// SJARegView.cpp : implementation file
//

#include "stdafx.h"
#include "VCStyle.h"
#include "SJARegView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSJARegView

IMPLEMENT_DYNCREATE(CSJARegView, CFormView)

CSJARegView::CSJARegView()
	: CFormView(CSJARegView::IDD)
{
	//{{AFX_DATA_INIT(CSJARegView)
	m_alc = 0;
	m_bus1 = 0;
	m_bus2 = 0;
	m_ecc = 0;
	m_inten = 0;
	m_int = 0;
	m_mode = 0;
	m_rxerr = 0;
	m_state = 0;
	m_txerr = 0;
	m_mode_4 = FALSE;
	m_mode_3 = FALSE;
	m_mode_2 = FALSE;
	m_mode_1 = FALSE;
	m_mode_0 = FALSE;
	m_state_0 = FALSE;
	m_state_1 = FALSE;
	m_state_2 = FALSE;
	m_state_3 = FALSE;
	m_state_4 = FALSE;
	m_state_5 = FALSE;
	m_state_6 = FALSE;
	m_state_7 = FALSE;
	m_int_0 = FALSE;
	m_int_1 = FALSE;
	m_int_2 = FALSE;
	m_int_3 = FALSE;
	m_int_4 = FALSE;
	m_int_5 = FALSE;
	m_int_6 = FALSE;
	m_int_7 = FALSE;
	m_inten_0 = FALSE;
	m_inten_1 = FALSE;
	m_inten_2 = FALSE;
	m_inten_3 = FALSE;
	m_inten_4 = FALSE;
	m_inten_5 = FALSE;
	m_inten_6 = FALSE;
	m_inten_7 = FALSE;
	//}}AFX_DATA_INIT
}

CSJARegView::~CSJARegView()
{
}

void CSJARegView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSJARegView)
	DDX_Text(pDX, IDC_EDIT_ALC, m_alc);
	DDX_Text(pDX, IDC_EDIT_BUSTIME1, m_bus1);
	DDX_Text(pDX, IDC_EDIT_BUSTIME2, m_bus2);
	DDX_Text(pDX, IDC_EDIT_ECC, m_ecc);
	DDX_Text(pDX, IDC_EDIT_INTEN, m_inten);
	DDX_Text(pDX, IDC_EDIT_INTERRUPT, m_int);
	DDX_Text(pDX, IDC_EDIT_MODE, m_mode);
	DDX_Text(pDX, IDC_EDIT_RXERR, m_rxerr);
	DDX_Text(pDX, IDC_EDIT_STATE, m_state);
	DDX_Text(pDX, IDC_EDIT1_TXERR, m_txerr);
	DDX_Check(pDX, IDC_CHECK_MODE_4, m_mode_4);
	DDX_Check(pDX, IDC_CHECK_MODE_3, m_mode_3);
	DDX_Check(pDX, IDC_CHECK_MODE_2, m_mode_2);
	DDX_Check(pDX, IDC_CHECK_MODE_1, m_mode_1);
	DDX_Check(pDX, IDC_CHECK_MODE_0, m_mode_0);
	DDX_Check(pDX, IDC_CHECK_STATE_0, m_state_0);
	DDX_Check(pDX, IDC_CHECK_STATE_1, m_state_1);
	DDX_Check(pDX, IDC_CHECK_STATE_2, m_state_2);
	DDX_Check(pDX, IDC_CHECK_STATE_3, m_state_3);
	DDX_Check(pDX, IDC_CHECK_STATE_4, m_state_4);
	DDX_Check(pDX, IDC_CHECK_STATE_5, m_state_5);
	DDX_Check(pDX, IDC_CHECK_STATE_6, m_state_6);
	DDX_Check(pDX, IDC_CHECK_STATE_7, m_state_7);
	DDX_Check(pDX, IDC_CHECK_INT_0, m_int_0);
	DDX_Check(pDX, IDC_CHECK_INT_1, m_int_1);
	DDX_Check(pDX, IDC_CHECK_INT_2, m_int_2);
	DDX_Check(pDX, IDC_CHECK_INT_3, m_int_3);
	DDX_Check(pDX, IDC_CHECK_INT_4, m_int_4);
	DDX_Check(pDX, IDC_CHECK_INT_5, m_int_5);
	DDX_Check(pDX, IDC_CHECK_INT_6, m_int_6);
	DDX_Check(pDX, IDC_CHECK_INT_7, m_int_7);
	DDX_Check(pDX, IDC_CHECK_INTEN_0, m_inten_0);
	DDX_Check(pDX, IDC_CHECK_INTEN_1, m_inten_1);
	DDX_Check(pDX, IDC_CHECK_INTEN_2, m_inten_2);
	DDX_Check(pDX, IDC_CHECK_INTEN_3, m_inten_3);
	DDX_Check(pDX, IDC_CHECK_INTEN_4, m_inten_4);
	DDX_Check(pDX, IDC_CHECK_INTEN_5, m_inten_5);
	DDX_Check(pDX, IDC_CHECK_INTEN_6, m_inten_6);
	DDX_Check(pDX, IDC_CHECK_INTEN_7, m_inten_7);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSJARegView, CFormView)
	//{{AFX_MSG_MAP(CSJARegView)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSJARegView diagnostics

#ifdef _DEBUG
void CSJARegView::AssertValid() const
{
	CFormView::AssertValid();
}

void CSJARegView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG
CSJARegDoc *CSJARegView::GetDocument ()  // non-debug version is inline
{
	ASSERT (m_pDocument->IsKindOf (RUNTIME_CLASS (CSJARegDoc)));

	return (CSJARegDoc *) m_pDocument;
}
/////////////////////////////////////////////////////////////////////////////
// CSJARegView message handlers
#include "sja\\sjaexport.h"
#include "data.h"
void CSJARegView::ScanSJARegs()
{
	m_mode = ReadSJAReg(0);
	m_state = ReadSJAReg(2);
//	m_int = ReadSJAReg(3);
	m_int = intcode;
	m_inten = ReadSJAReg(4);
	m_bus1 = ReadSJAReg(6);
	m_bus2 = ReadSJAReg(7);
	m_alc = ReadSJAReg(11);
	m_ecc = ReadSJAReg(12);
	m_rxerr = ReadSJAReg(14);
	m_txerr = ReadSJAReg(15);
}

void CSJARegView::OnButton1() 
{
	ScanSJARegs();
	//update mode.4 ~ mode.0
	m_mode_4 = (m_mode & 0x10)!=0;
	m_mode_3 = (m_mode & 0x08)!=0;
	m_mode_2 = (m_mode & 0x04)!=0;
	m_mode_1 = (m_mode & 0x02)!=0;
	m_mode_0 = (m_mode & 0x01)!=0;

	//update state
	m_state_7 = (m_state & 0x80)!=0;
	m_state_6 = (m_state & 0x40)!=0;
	m_state_5 = (m_state & 0x20)!=0;
	m_state_4 = (m_state & 0x10)!=0;
	m_state_3 = (m_state & 0x08)!=0;
	m_state_2 = (m_state & 0x04)!=0;
	m_state_1 = (m_state & 0x02)!=0;
	m_state_0 = (m_state & 0x01)!=0;

	//update int
	m_int_7 = (m_int & 0x80)!=0;
	m_int_6 = (m_int & 0x40)!=0;
	m_int_5 = (m_int & 0x20)!=0;
	m_int_4 = (m_int & 0x10)!=0;
	m_int_3 = (m_int & 0x08)!=0;
	m_int_2 = (m_int & 0x04)!=0;
	m_int_1 = (m_int & 0x02)!=0;
	m_int_0 = (m_int & 0x01)!=0;

	//update int en
	m_inten_7 = (m_inten & 0x80)!=0;
	m_inten_6 = (m_inten & 0x40)!=0;
	m_inten_5 = (m_inten & 0x20)!=0;
	m_inten_4 = (m_inten & 0x10)!=0;
	m_inten_3 = (m_inten & 0x08)!=0;
	m_inten_2 = (m_inten & 0x04)!=0;
	m_inten_1 = (m_inten & 0x02)!=0;
	m_inten_0 = (m_inten & 0x01)!=0;



	UpdateData(FALSE);
}

HBRUSH CSJARegView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
//	HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	return m_bkbrush;
	
	// TODO: Return a different brush if the default is not desired
//	return hbr;
}

void CSJARegView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();
	
	// TODO: Add your specialized code here and/or call the base class
	m_bkbrush.CreateSolidBrush(RGB(240,250,245));
	
}

⌨️ 快捷键说明

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