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

📄 sickdld.cpp

📁 串口调试程序源代码
💻 CPP
字号:
// SickDld.cpp : implementation file
//

#include "stdafx.h"
#include "TTY.h"
#include "SickDld.h"
#include "TTYDoc.h"
#include "MainFrm.h"
#include "TTYView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSickDld dialog


CSickDld::CSickDld(CWnd* pParent /*=NULL*/)
	: CDialog(CSickDld::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSickDld)
	m_FilePath = _T("");
	//}}AFX_DATA_INIT
	
	/*m_View_Checked=FALSE;
	m_Save_Checked=FALSE;
	m_SavePath_Checked=FALSE;*/
}


void CSickDld::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSickDld)
	DDX_Control(pDX, IDC_CHECK2, m_ViewFlag);
	DDX_Control(pDX, IDC_CHECK1, m_ReceiveFlag);
	DDX_Control(pDX, IDC_COMBO1, m_CombCmd);
	
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSickDld, CDialog)
	//{{AFX_MSG_MAP(CSickDld)
	ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
	ON_BN_CLICKED(IDC_BUTTON3, OnCommandSend)
	ON_BN_CLICKED(IDC_BUTTON2, OnClear)
	ON_BN_CLICKED(IDC_CHECK1, OnReceiveFlag)
	ON_BN_CLICKED(IDC_CHECK2, OnViewFlag)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSickDld message handlers

void CSickDld::OnSelchangeCombo1() 
{
	// TODO: Add your control notification handler code here
	int index=m_CombCmd.GetCurSel();
	
	switch(index)
	{
	/*case 4: //19200
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x02;
		m_SendOut.Pos[3]=0x00;
		m_SendOut.Pos[4]=0x20;
		m_SendOut.Pos[5]=0x41;
		m_SendOut.Pos[6]=0x51;
		m_SendOut.Pos[7]=0x08;
		m_SendOut.Lengh=8;
        break;*/

	
	case 4: //38400
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x02;
		m_SendOut.Pos[3]=0x00;
		m_SendOut.Pos[4]=0x20;
		m_SendOut.Pos[5]=0x40;
		m_SendOut.Pos[6]=0x50;
		m_SendOut.Pos[7]=0x08;
		m_SendOut.Lengh=8;
        break;
	
	case 5: //500000
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x02;
		m_SendOut.Pos[3]=0x00;
		m_SendOut.Pos[4]=0x20;
		m_SendOut.Pos[5]=0x48;
		m_SendOut.Pos[6]=0x58;
		m_SendOut.Pos[7]=0x08;
		m_SendOut.Lengh=8;
		break;
	
	case 3: //9600
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x02;
		m_SendOut.Pos[3]=0x00;
		m_SendOut.Pos[4]=0x20;
		m_SendOut.Pos[5]=0x42;
		m_SendOut.Pos[6]=0x52;
		m_SendOut.Pos[7]=0x08;
		m_SendOut.Lengh=8;
		break;
	
	case 1: //请求测量数据
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x02;
		m_SendOut.Pos[3]=0x00;
		m_SendOut.Pos[4]=0x30;
		m_SendOut.Pos[5]=0x01;
		m_SendOut.Pos[6]=0x31;
		m_SendOut.Pos[7]=0x18;
		m_SendOut.Lengh=8;
		break;
	
	case 2: //请求连续采集数据
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x02;
		m_SendOut.Pos[3]=0x00;
		m_SendOut.Pos[4]=0x20;
		m_SendOut.Pos[5]=0x24;
		m_SendOut.Pos[6]=0x34;
		m_SendOut.Pos[7]=0x08;
		m_SendOut.Lengh=8;
		break;
	
	case 6: //停止采集
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x02;
		m_SendOut.Pos[3]=0x00;
		m_SendOut.Pos[4]=0x20;
		m_SendOut.Pos[5]=0x25;
		m_SendOut.Pos[6]=0x35;
		m_SendOut.Pos[7]=0x08;
		m_SendOut.Lengh=8;
		break;
	
	case 0: //请求状态
		m_SendOut.Pos[0]=0x02;
		m_SendOut.Pos[1]=0x00;
		m_SendOut.Pos[2]=0x01;
		m_SendOut.Pos[3]=0x00;
	    m_SendOut.Pos[4]=0x31;
		m_SendOut.Pos[5]=0x15;
		m_SendOut.Pos[6]=0x12;
		m_SendOut.Lengh=7;
		break;
	}
}


/*void CSickDld::OnSave() 
{
	// TODO: Add your control notification handler code here
		char filters[] = "*.txt | *.txt|";
	CFileDialog oFileDialog(FALSE, NULL, "*.txt", NULL, filters, NULL);
 	if (oFileDialog.DoModal() == IDOK)
	{
		CString	csPath;
		csPath = oFileDialog.GetPathName();
		
		//CFile	oFile;
	
		m_FilePath=csPath;
		UpdateData(false);

	}
    
	CTTYDoc *m_App = (CTTYDoc *)AfxGetApp();
	
	//m_App->File_Save.Open(m_FilePath, CFile::modeCreate | CFile::modeWrite );
    
	m_App->SavePath_Checked=TRUE;

	
	
	//File_Save.Open(m_FilePath, CFile::modeCreate | CFile::modeWrite );
}*/

void CSickDld::OnCommandSend() 
{
	// TODO: Add your control notification handler code here
	
	
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;

    CTTYDoc *m_pDoc = (CTTYDoc *)pFrame->GetActiveDocument();

    m_pDoc->WriteComm(m_SendOut.Pos , m_SendOut.Lengh);

	

    CDialog::OnOK();
	
}

void CSickDld::OnClear() 
{
	// TODO: Add your control notification handler code here
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
	
	//获得与该窗体符合的视图:
	CTTYView *m_pView = (CTTYView *) pFrame->GetActiveView();
	
	//调用视图函数:
	m_pView->Clear();
	
}

void CSickDld::OnReceiveFlag() 
{
	// TODO: Add your control notification handler code here
	if(m_ReceiveFlag.GetCheck())
	{
		CTTYDoc *m_App = (CTTYDoc *)AfxGetApp();
        m_App->Save_Checked=TRUE;
	}
	/*else
	{
		m_App->Save_Checked=FALSE;
	}*/
}

void CSickDld::OnViewFlag() 
{
	// TODO: Add your control notification handler code here
	if(m_ViewFlag.GetCheck())
	{
        CTTYDoc *m_App = (CTTYDoc *)AfxGetApp();
		m_App->View_Checked=TRUE;
	}
	/*else
	{
		m_App->View_Checked=FALSE;
	}*/
}

⌨️ 快捷键说明

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