📄 readreg.cpp
字号:
// ReadReg.cpp : implementation file
//
#include "stdafx.h"
#include "SMT5K.h"
#include "ReadReg.h"
#include "SM5000.h"
#include "SerialPort.h"
#include "SMT5KDoc.h"
#include "SMT5KView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CSerialPort m_ComPort;
extern CString m_strRXDataCOM1; //COM1接收数据
extern CString m_strTXDataCOM1; //COM1发送数据
extern CDialog * pRegTestDlg;
/////////////////////////////////////////////////////////////////////////////
// CReadReg dialog
CReadReg::CReadReg(CWnd* pParent /*=NULL*/)
: CDialog(CReadReg::IDD, pParent)
{
//{{AFX_DATA_INIT(CReadReg)
m_CurrentRReg = -1;
m_count = 0;
//}}AFX_DATA_INIT
}
void CReadReg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CReadReg)
DDX_CBIndex(pDX, IDC_COMBO_RREG, m_CurrentRReg);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CReadReg, CDialog)
//{{AFX_MSG_MAP(CReadReg)
ON_MESSAGE(WM_SM5K_DATA_READ, OnSm5kDataRead)
ON_CBN_CLOSEUP(IDC_COMBO_RREG, OnCloseupComboRreg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CReadReg message handlers
void CReadReg::OnCloseupComboRreg()
{
// TODO: Add your control notification handler code here
m_CurrentRReg = ((CComboBox*)GetDlgItem(IDC_COMBO_RREG))->GetCurSel();
m_count = 0;
m_strTXDataCOM1.Empty();
switch(m_CurrentRReg)
{
case 0:
ReadReg (0);
break;
case 1:
ReadReg (1, 1,0,0,0);
break;
case 2:
ReadReg (1, 0,1,0,0);
break;
case 3:
ReadReg (1, 0,0,1,0);
break;
case 4:
ReadReg (1, 0,0,0,1);
break;
case 5:
ReadReg (2, 1,0,0,0);
break;
case 6:
ReadReg (2, 0,1,0,0);
break;
case 7:
ReadReg (2, 0,0,1,0);
break;
case 8:
ReadReg (2, 0,0,0,1);
break;
case 9:
ReadReg (3, 1,0,0,0);
break;
case 10:
ReadReg (3, 0,1,0,0);
break;
case 11:
ReadReg (3, 0,0,1,0);
break;
case 12:
ReadReg (3, 0,0,0,1);
break;
case 13:
ReadReg (4);
break;
case 14:
ReadReg (5);
break;
case 15:
ReadReg (6);
break;
case 16:
ReadReg (7);
break;
case 17:
ReadReg (10);
break;
case 18:
ReadReg (11, 1,0,0,0);
break;
case 19:
ReadReg (11, 0,1,0,0);
break;
case 20:
ReadReg (11, 0,0,1,0);
break;
case 21:
ReadReg (11, 0,0,0,1);
break;
case 22:
ReadReg (12, 1,0,0,0);
break;
case 23:
ReadReg (12, 0,1,0,0);
break;
case 24:
ReadReg (12, 0,0,1,0);
break;
case 25:
ReadReg (12, 0,0,0,1);
break;
case 26:
ReadReg (13, 1,0,0,0);
break;
case 27:
ReadReg (13, 0,1,0,0);
break;
case 28:
ReadReg (13, 0,0,1,0);
break;
case 29:
ReadReg (13, 0,0,0,1);
break;
case 30:
ReadReg (14);
break;
case 31:
ReadReg (15);
break;
case 32:
ReadReg (16);
break;
case 33:
ReadReg (17);
break;
case 34:
ReadParam (0, 1,0,0,0);
break;
case 35:
ReadParam (0, 0,1,0,0);
break;
case 36:
ReadParam (0, 0,0,1,0);
break;
case 37:
ReadParam (0, 0,0,0,1);
break;
case 38:
ReadParam (1, 1,0,0,0);
break;
case 39:
ReadParam (1, 0,1,0,0);
break;
case 40:
ReadParam (1, 0,0,1,0);
break;
case 41:
ReadParam (1, 0,0,0,1);
break;
case 42:
ReadParam (2, 1,0,0,0);
break;
case 43:
ReadParam (2, 0,1,0,0);
break;
case 44:
ReadParam (2, 0,0,1,0);
break;
case 45:
ReadParam (2, 0,0,0,1);
break;
case 46:
ReadParam (3, 1,0,0,0);
break;
case 47:
ReadParam (3, 0,1,0,0);
break;
case 48:
ReadParam (3, 0,0,1,0);
break;
case 49:
ReadParam (3, 0,0,0,1);
break;
default:
break;
}
m_ComPort.WriteToPort((LPCTSTR)m_strTXDataCOM1);
}
VOID ReadTime(VOID)
{
char str[50];
SYSTEMTIME st;
while(1) {
GetSystemTime(&st);
sprintf(str,"%u:%u:%u", st.wHour, st.wMinute, st.wSecond);
SetDlgItemText(pRegTestDlg->m_hWnd,IDC_WriteDrvCmd,str);
Sleep (1000); // 延遲一秒。
}
}
BOOL CReadReg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
/*
HANDLE hThread;
DWORD ThreadID;
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ReadTime,
NULL, 0, &ThreadID);
*/
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
LONG CReadReg::OnSm5kDataRead(WPARAM wData, LPARAM lData)
{
CString str;
if( (m_CurrentRReg== 0 && wData== 0 ) ||
(m_CurrentRReg== 1 && wData== 1 ) ||
(m_CurrentRReg== 2 && wData==101 ) ||
(m_CurrentRReg== 3 && wData==201 ) ||
(m_CurrentRReg== 4 && wData==301 ) ||
(m_CurrentRReg== 5 && wData== 2 ) ||
(m_CurrentRReg== 6 && wData==102 ) ||
(m_CurrentRReg== 7 && wData==202 ) ||
(m_CurrentRReg== 8 && wData==302 ) ||
(m_CurrentRReg== 9 && wData== 3 ) ||
(m_CurrentRReg==10 && wData==103 ) ||
(m_CurrentRReg==11 && wData==203 ) ||
(m_CurrentRReg==12 && wData==303 ) ||
(m_CurrentRReg==13 && wData== 4 ) ||
(m_CurrentRReg==14 && wData== 5 ) ||
(m_CurrentRReg==15 && wData== 6 ) ||
(m_CurrentRReg==16 && wData== 7 ) ||
(m_CurrentRReg==17 && wData== 10 ) ||
(m_CurrentRReg==18 && wData== 11 ) ||
(m_CurrentRReg==19 && wData==111 ) ||
(m_CurrentRReg==20 && wData==211 ) ||
(m_CurrentRReg==21 && wData==311 ) ||
(m_CurrentRReg==22 && wData== 12 ) ||
(m_CurrentRReg==23 && wData==112 ) ||
(m_CurrentRReg==24 && wData==212 ) ||
(m_CurrentRReg==25 && wData==312 ) ||
(m_CurrentRReg==26 && wData== 13 ) ||
(m_CurrentRReg==27 && wData==113 ) ||
(m_CurrentRReg==28 && wData==213 ) ||
(m_CurrentRReg==29 && wData==313 ) ||
(m_CurrentRReg==30 && wData== 14 ) ||
(m_CurrentRReg==31 && wData== 15 ) ||
(m_CurrentRReg==32 && wData== 16 ) ||
(m_CurrentRReg==33 && wData== 17 ) ||
(m_CurrentRReg==34 && wData== 20 ) ||
(m_CurrentRReg==35 && wData==120 ) ||
(m_CurrentRReg==36 && wData==220 ) ||
(m_CurrentRReg==37 && wData==320 ) ||
(m_CurrentRReg==38 && wData== 21 ) ||
(m_CurrentRReg==39 && wData==121 ) ||
(m_CurrentRReg==40 && wData==221 ) ||
(m_CurrentRReg==41 && wData==321 ) ||
(m_CurrentRReg==42 && wData== 22 ) ||
(m_CurrentRReg==43 && wData==122 ) ||
(m_CurrentRReg==44 && wData==222 ) ||
(m_CurrentRReg==45 && wData==322 ) ||
(m_CurrentRReg==46 && wData== 23 ) ||
(m_CurrentRReg==47 && wData==123 ) ||
(m_CurrentRReg==48 && wData==223 ) ||
(m_CurrentRReg==49 && wData==323 ) )
{
m_count++;
str.Format("%d(%d)",lData,m_count);
SetDlgItemText( IDC_REG_DATA_DISP, str);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -