|
|
|
|
// DlgIMP.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "CH91PayloadSoftware.h"
|
|
|
|
|
#include "DlgIMP.h"
|
|
|
|
|
#include "afxdialogex.h"
|
|
|
|
|
|
|
|
|
|
// CDlgIMP <20>Ի<EFBFBD><D4BB><EFBFBD>
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CDlgIMP, CDialogEx)
|
|
|
|
|
|
|
|
|
|
CDlgIMP::CDlgIMP()
|
|
|
|
|
: CDialogEx(CDlgIMP::IDD)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CDlgIMP::~CDlgIMP()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CDlgIMP::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::DoDataExchange(pDX);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CDlgIMP, CDialogEx)
|
|
|
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CDlgIMP::OnBnClickedButton1)
|
|
|
|
|
|
|
|
|
|
ON_MESSAGE(WM_UPDATE_IMP_SERIAL_CONNECT, ImpSerialConnectMessage) //IMPͨ<50>ſ<EFBFBD>ʼ<EFBFBD><CABC>Ϣ
|
|
|
|
|
ON_MESSAGE(WM_UPDATE_IMPDOWN_CHECKED, OnUpdateIMPDownDataChecked) //<2F><><EFBFBD><EFBFBD>IMP<4D><50><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
BOOL CDlgIMP::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::OnInitDialog();
|
|
|
|
|
g_IMPDLGhwnd = GetSafeHwnd();
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// DlgIMP <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void CDlgIMP::SetIMPData(CFrameIMPDown_ data)
|
|
|
|
|
{
|
|
|
|
|
CString tstr;
|
|
|
|
|
tstr.Format(_T("%d"),data.Data.Bytes);
|
|
|
|
|
GetDlgItem(IDC_EDIT2)->SetWindowTextA(tstr);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CDlgIMP::OnBnClickedButton1()
|
|
|
|
|
{
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//IMP<4D><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<DDBA><F3A3ACBD><EFBFBD>У<EFBFBD><D0A3>
|
|
|
|
|
void OnReadFromCommIMP( char *buffer,const DWORD size)
|
|
|
|
|
{
|
|
|
|
|
//buffer = (unsigned char*)buffer;
|
|
|
|
|
const BYTE* buffer2 = (BYTE*)buffer;
|
|
|
|
|
if(size>0)
|
|
|
|
|
{
|
|
|
|
|
BYTE DCBufferCmd[6];
|
|
|
|
|
memset(DCBufferCmd,0,sizeof(DCBufferCmd));
|
|
|
|
|
DCBufferCmd[0] = buffer2[0] ;
|
|
|
|
|
DCBufferCmd[1] = buffer2[1] ;
|
|
|
|
|
DCBufferCmd[2] = buffer2[2] ;
|
|
|
|
|
int a = sizeof(buffer2);
|
|
|
|
|
/********<2A><><EFBFBD><EFBFBD>У<EFBFBD>飬У<E9A3AC><D0A3>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>g_FrameIMPDown<77><6E>ֵ********/
|
|
|
|
|
g_FrameIMPDown.Phrase(buffer2, size);
|
|
|
|
|
|
|
|
|
|
::SendMessageA(g_IMPDLGhwnd,WM_UPDATE_IMPDOWN_CHECKED,0,0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
LRESULT CDlgIMP::ImpSerialConnectMessage(WPARAM param, LPARAM lparam)
|
|
|
|
|
{
|
|
|
|
|
// ж<>ش<EFBFBD><D8B4><EFBFBD>
|
|
|
|
|
if (TRUE == m_SerialIMP.IsInitialized())
|
|
|
|
|
{
|
|
|
|
|
m_SerialIMP.DeInit();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char pSerialPort[20];//<2F><><EFBFBD>ں<EFBFBD>
|
|
|
|
|
DWORD pSerialPortBaud;//<2F>˿ں<CBBF>
|
|
|
|
|
memset(pSerialPort, 0, 20);
|
|
|
|
|
|
|
|
|
|
/*<2A>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>CString<6E><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ʽ<EFBFBD><CABD>
|
|
|
|
|
//::SendMessageA(g_IMPDLGhwnd,WM_UPDATE_IMP_SERIAL_CONNECT,(WPARAM)mComPortIMP.AllocSysString(), (LPARAM)mComBaudIMP.AllocSysString());
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WPARAMתCSTring
|
|
|
|
|
*/
|
|
|
|
|
CString sPort = (CString)((BSTR)param);
|
|
|
|
|
CString sBaud = (CString)((BSTR)lparam);
|
|
|
|
|
SysFreeString((BSTR)param);
|
|
|
|
|
SysFreeString((BSTR)lparam);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetSerialPortNumber(pSerialPort,sPort);
|
|
|
|
|
pSerialPortBaud = atoi(sBaud);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
if (!OnCheckComPort(pSerialPort)) //<2F><><EFBFBD>ڱ<EFBFBD>ռ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>false
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
if(m_SerialIMP.Initialize(pSerialPort, pSerialPortBaud, 8, 0, 0)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|
|
|
|
{
|
|
|
|
|
m_SerialIMP.SetComReadCallback( OnReadFromCommIMP );
|
|
|
|
|
//m_SerialIMP.SetNotCheckCallback(nullptr,NULL);
|
|
|
|
|
BYTE buffersend[10];
|
|
|
|
|
memset(buffersend,1,10);
|
|
|
|
|
m_SerialIMP.WriteABuffer(buffersend,sizeof(buffersend));
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>У<EFBFBD><D0A3><EFBFBD><EFBFBD>IMP<4D><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
LRESULT CDlgIMP::OnUpdateIMPDownDataChecked(WPARAM param, LPARAM lparam)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
//if(p_DlgIMP->IsWindowVisible())
|
|
|
|
|
//{
|
|
|
|
|
// p_DlgIMP->SetIMPData(g_FrameIMPDown);
|
|
|
|
|
//}
|
|
|
|
|
if(IMPDlgWindowVisible)
|
|
|
|
|
{
|
|
|
|
|
SetIMPData(g_FrameIMPDown);
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|