亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? callerview.cpp

?? 串口的監控程序,提供了固定命令模式和
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// CallerView.cpp : implementation of the CCallerView class
//

#include "stdafx.h"
#include "Caller.h"

#include "CallerDoc.h"
#include "CallerView.h"
#include "ConfigSerial.h"
#include "XRichEditCtrl.h"
//#include "CallerEdit.h"
#include "ConfigCmd.h"

#include "CntrItem.h"


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

CXRichEditCtrl RichCtrl;
CSerialPort m_ComPort;


#define LN_COL_MSG(lparam)	::PostMessage(GetParent()->m_hWnd,WM_XRICHEDIT_MSG,\
(WPARAM)1,lparam);

/////////////////////////////////////////////////////////////////////////////
// CCallerView

IMPLEMENT_DYNCREATE(CCallerView, CRichEditView)

BEGIN_MESSAGE_MAP(CCallerView, CRichEditView)
	//{{AFX_MSG_MAP(CCallerView)
	ON_COMMAND(ID_CONFIG_SERIAL, OnConfigSerial)
	ON_COMMAND(ID_FUNC1_FUNC1, OnFunc1Func1)
	ON_COMMAND(IDC_CONFIG_CLEAR, OnConfigClear)
	ON_COMMAND(ID_FUNC1_FUNC2, OnFunc1Func2)
	ON_COMMAND(ID_FUNC1_FUNC3, OnFunc1Func3)
	ON_COMMAND(ID_FUNC2_FUNC1, OnFunc2Func1)
	ON_COMMAND(ID_FUNC2_FUNC2, OnFunc2Func2)
	ON_COMMAND(ID_FUNC2_FUNC3, OnFunc2Func3)
	ON_COMMAND(ID_FUNC2_FUNC4, OnFunc2Func4)
	ON_COMMAND(ID_FUNC2_FUNC5, OnFunc2Func5)
	ON_WM_DESTROY()
	ON_WM_KEYDOWN()
	ON_WM_LBUTTONDOWN()
	ON_COMMAND(IDD_CONFIG_SERIAL, OnConfigSerial)
	ON_COMMAND(ID_CONFIG_COMMAND, OnConfigCommand)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CRichEditView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CRichEditView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRichEditView::OnFilePrintPreview)
	ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)
END_MESSAGE_MAP()
// ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)


/////////////////////////////////////////////////////////////////////////////
// CCallerView construction/destruction

//##ModelId=3FFC8F3A0159
CCallerView::CCallerView()
{
    CString str;
	// TODO: add construction code here
	// Initialize serial port
   	if (m_ComPort.InitPort(this,1,19200,'N',8,1,EV_RXFLAG | EV_RXCHAR,512))
	{
		//start monitor process
		m_ComPort.StartMonitoring();
	}
	else
	{
		CString str;
		str.Format("無法初始化COM%d ",1);
		AfxMessageBox(str);
	}

	// char mode 
	m_bDataMode = 0;	
	m_bDataDisp = 0;
	
	// clear checksum 
	m_chChecksum=0;		
	
	m_bRXDataTimeout  = FALSE;

	m_unReceiveTimeOut = 20;

	m_hWnd = (CWnd*)AfxGetApp()->m_pMainWnd;

	// disable The user Config command line
	int i = 0;
	int j = 0;
	for ( i = 0; i < 2; i ++ )
	{
		for ( j = 0; j < 5; j ++ )
		{
//			CmdLineInfo.m_bCmdLineEn[i][j] = FALSE;
//			CmdLineInfo.m_strCmdLine
			 m_CmdLine[i][j].m_bCmdLineEn = FALSE;
			 m_CmdLine[i][j].m_strCmdLine.Format("");

		}
	}
}

//##ModelId=3FFC8F3A029F
CCallerView::~CCallerView()
{
}

//##ModelId=3FFC8F3A01F4
BOOL CCallerView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	BOOL bResult = CRichEditView::PreCreateWindow (cs);
    
	//
    cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL);

	return bResult ;
}

/////////////////////////////////////////////////////////////////////////////
// CCallerView drawing

//##ModelId=3FFC8F3A01E9
void CCallerView::OnDraw(CDC* pDC)
{
	CCallerDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CCallerView printing

//##ModelId=3FFC8F3A0205
BOOL CCallerView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

//##ModelId=3FFC8F3A0215
void CCallerView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

//##ModelId=3FFC8F3A0232
void CCallerView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

//##ModelId=3FFC8F3A030D
void CCallerView::OnDestroy() 
{
	CRichEditView::OnDestroy();
	
	// TODO: Add your message handler code here
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
   if (pActiveItem != NULL && pActiveItem->GetActiveView() == this)
   {
      pActiveItem->Deactivate();
      ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL);
   }
}

/////////////////////////////////////////////////////////////////////////////
// CCallerView diagnostics

#ifdef _DEBUG
//##ModelId=3FFC8F3A02A1
void CCallerView::AssertValid() const
{
	CRichEditView::AssertValid();
}

//##ModelId=3FFC8F3A02AF
void CCallerView::Dump(CDumpContext& dc) const
{
	CRichEditView::Dump(dc);
}

//##ModelId=3FFC8F3A01C6
CCallerDoc* CCallerView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCallerDoc)));
	return (CCallerDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CCallerView message handlers
//##ModelId=3FFC8F3A032F
LONG CCallerView::OnCommunication(WPARAM ch, LPARAM port)
{
    static int BuffIndex = 0;
	static char char_old;

	CString str;

    CRichEditCtrl& edit=GetRichEditCtrl();

	CCallerDoc  *pDoc = GetDocument();
    
	int nTextLength;
	CString strtemp;
	m_nRXCounterCOM1++;

	nTextLength = edit.GetWindowTextLength();

    LARGE_INTEGER  litmp; 
	LONGLONG       QPart;
	double         dfMinus = 0;
	double         dfFreq  = 0;
	double         dfTim   = 0;

	QueryPerformanceFrequency(&litmp); 

	dfFreq = (double)litmp.QuadPart; 
	QueryPerformanceCounter(&litmp); 

	QPart = litmp.QuadPart;
       dfMinus = ( double )( QPart-QPart_old ); 
	     dfTim = dfMinus / dfFreq; 

	if ( dfTim > ( 0.001 * m_unReceiveTimeOut ) )      // micro seconds
	{
		m_bRXDataTimeout = TRUE;
	}
    /////
	 QPart_old = QPart;
	dfFreq_old = dfFreq;

	if( m_bRXDataTimeout)
	{
		strtemp += "\r\n";	
		m_bRXDataTimeout = FALSE;

		str = "     Answer:";

		if(m_bDataMode)
		{
			str += "( Hex )";
		}
		else
		{
			str += "( ASCII )";
		}
		PutMessage( str );
	}

	if(m_bDataDisp)
	{
		//send char to strtemp with HEX format 
		strtemp.Format("%02X ",ch);    
	}
	else 
	{
		switch (ch)
		{
			// 
		case '\n':                        
			strtemp += "\r\n";
			break;
		case '\r':                       
			break;
		default:
			strtemp += ch;
		}

	}

	// save current char from serial port
	char_old = ch;

    //  All the text in the edit control is selected
    edit.SetSel( -1, 0);

	// Updata the edit control
	edit.ReplaceSel(strtemp);
//	strtemp.ReleaseBuffer();
    
	return (LONG)0;
}
//##ModelId=3FFC8F3A0203
void CCallerView::OnInitialUpdate() 
{
	CRichEditView::OnInitialUpdate();
	
	// TODO: Add your specialized code here and/or call the base class
}

//##ModelId=3FFC8F3A02BF
void CCallerView::OnConfigSerial() 
{
	// TODO: Add your command handler code here
	CConfigSerial *  dlg = new CConfigSerial(this, m_ComPort.GetDCB());

	// get data transf mode 
    dlg->m_bHexSend = m_bDataMode;
	dlg->m_ctrlHexDisp = m_bDataDisp;

	dlg->m_unReceiveTimeout = m_unReceiveTimeOut;
	
	if (dlg->DoModal() == IDOK)
	{
		m_bDataMode = dlg->m_ctrlHexSend;
		m_bDataDisp = dlg->m_ctrlHexDisp;

		CString strtemp = dlg->m_strBandRate;
		m_nBandRate = _ttoi( strtemp);

		m_unReceiveTimeOut = dlg->m_unReceiveTimeout;
        
		if( dlg->m_bBandChange)
		{
			m_ComPort.InitPort(this, 1, m_nBandRate, 'N', 8, 1, EV_RXFLAG | EV_RXCHAR, 512);
    
	    	m_ComPort.StartMonitoring();
		}

		delete dlg;

		// check  command format if hexmode is selected
		if ( m_bDataMode )
		{
			CheckCmdFormat();		
		}
	}
}

//##ModelId=3FFC8F3A034B
void CCallerView::OnConfigCommand() 
{
	// TODO: Add your command handler code here
    //CConfigCmd *pDlg = (CConfigCmd *)GetDlgItem(IDD_CONFIG_COMMAND);
    CConfigCmd  dlg;
  
	//-------
	// Command line enable flag
	dlg.m_bCmd11En = m_CmdLine[0][0].m_bCmdLineEn;
	dlg.m_bCmd12En = m_CmdLine[0][1].m_bCmdLineEn;
	dlg.m_bCmd13En = m_CmdLine[0][2].m_bCmdLineEn;

	dlg.m_bCmd21En = m_CmdLine[1][0].m_bCmdLineEn;
	dlg.m_bCmd22En = m_CmdLine[1][1].m_bCmdLineEn;
	dlg.m_bCmd23En = m_CmdLine[1][2].m_bCmdLineEn;
	dlg.m_bCmd24En = m_CmdLine[1][3].m_bCmdLineEn;
	dlg.m_bCmd25En = m_CmdLine[1][4].m_bCmdLineEn;
	//-------
    // set dlg Command text
    dlg.m_strCmdLine11Text = m_CmdLine[0][0].m_strCmdLine;
	dlg.m_strCmdLine12Text = m_CmdLine[0][1].m_strCmdLine;
	dlg.m_strCmdLine13Text = m_CmdLine[0][2].m_strCmdLine;

	dlg.m_strCmdLine21Text = m_CmdLine[1][0].m_strCmdLine;
	dlg.m_strCmdLine22Text = m_CmdLine[1][1].m_strCmdLine;
	dlg.m_strCmdLine23Text = m_CmdLine[1][2].m_strCmdLine;
	dlg.m_strCmdLine24Text = m_CmdLine[1][3].m_strCmdLine;
	dlg.m_strCmdLine25Text = m_CmdLine[1][4].m_strCmdLine;
	//-----
	
	if( IDOK == dlg.DoModal() )
	{
		// Get Command line Active flag 1:Active; 0 no Active
		m_CmdLine[0][0].m_bCmdLineEn = dlg.m_bCmd11En;
		m_CmdLine[0][1].m_bCmdLineEn = dlg.m_bCmd12En;   
		m_CmdLine[0][2].m_bCmdLineEn = dlg.m_bCmd13En; 
                                                 
		m_CmdLine[1][0].m_bCmdLineEn = dlg.m_bCmd21En; 
		m_CmdLine[1][1].m_bCmdLineEn = dlg.m_bCmd22En; 
		m_CmdLine[1][2].m_bCmdLineEn = dlg.m_bCmd23En; 
		m_CmdLine[1][3].m_bCmdLineEn = dlg.m_bCmd24En; 
		m_CmdLine[1][4].m_bCmdLineEn = dlg.m_bCmd25En; 
	    //-------

	    // Get dlg Command text
		m_CmdLine[0][0].m_strCmdLine = dlg.m_strCmdLine11Text;
		m_CmdLine[0][1].m_strCmdLine = dlg.m_strCmdLine12Text;
		m_CmdLine[0][2].m_strCmdLine = dlg.m_strCmdLine13Text;
                                   
		m_CmdLine[1][0].m_strCmdLine = dlg.m_strCmdLine21Text;
		m_CmdLine[1][1].m_strCmdLine = dlg.m_strCmdLine22Text;
		m_CmdLine[1][2].m_strCmdLine = dlg.m_strCmdLine23Text;
		m_CmdLine[1][3].m_strCmdLine = dlg.m_strCmdLine24Text;
		m_CmdLine[1][4].m_strCmdLine = dlg.m_strCmdLine25Text;
		//-----
		if ( m_bDataMode )
		{
			CheckCmdFormat();		
		}
	}
}


//
// 
//
//##ModelId=3FFC8F3A0283
char CCallerView::Char2Hex(char ch)
{
	if((ch>='0')&&(ch<='9'))
	{
		return ch-0x30;
	}
	else if	((ch>='A')&&(ch<='F'))
	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品久久精品色综合| 欧美挠脚心视频网站| 欧美制服丝袜第一页| 精品国产乱码久久久久久免费| 亚洲亚洲人成综合网络| 国产不卡在线一区| 88在线观看91蜜桃国自产| 亚洲天堂福利av| 国产成人免费在线视频| 日韩亚洲欧美一区二区三区| 亚洲综合区在线| 成人av免费在线观看| 精品久久久久久最新网址| 亚洲丰满少妇videoshd| 99精品久久99久久久久| 亚洲国产精品成人久久综合一区 | 国产综合色在线视频区| 在线成人免费观看| 亚洲一区二区精品3399| www.99精品| 国产精品日日摸夜夜摸av| 国产精品一级黄| 国产美女av一区二区三区| 欧美亚一区二区| 亚洲精品视频在线观看免费 | 国产欧美视频一区二区| 久久99精品网久久| 精品奇米国产一区二区三区| 免费亚洲电影在线| 欧美大片顶级少妇| 麻豆精品久久精品色综合| 日韩欧美综合在线| 精品午夜一区二区三区在线观看| 欧美猛男gaygay网站| 亚洲一区二区三区四区中文字幕 | 午夜天堂影视香蕉久久| 91国偷自产一区二区开放时间| 国产精品伦理一区二区| 成人高清视频在线| 日韩美女精品在线| 91福利在线观看| 亚洲一区二区三区国产| 制服丝袜成人动漫| 国内精品伊人久久久久av影院| 精品国一区二区三区| 国产传媒欧美日韩成人| 亚洲欧美在线视频观看| 欧美亚洲国产一区二区三区va| 午夜不卡av在线| 日韩精品资源二区在线| 成人国产精品免费观看| 亚洲一区二区欧美| 精品三级在线观看| 不卡av在线免费观看| 尤物在线观看一区| 欧美va亚洲va在线观看蝴蝶网| 国产一区二区三区四区在线观看 | 91在线精品一区二区三区| 一区二区三区不卡视频| 欧美精品1区2区3区| 国产又粗又猛又爽又黄91精品| 国产精品美女久久久久久久网站| 99久久99久久综合| 丝袜国产日韩另类美女| 国产欧美日韩在线| 欧美午夜精品久久久久久超碰 | 亚洲电影激情视频网站| 日韩午夜电影av| 91性感美女视频| 久久精品二区亚洲w码| 亚洲乱码国产乱码精品精可以看| 欧美伦理视频网站| 不卡av电影在线播放| 美国精品在线观看| 亚洲欧洲成人av每日更新| 日韩小视频在线观看专区| 一本色道久久加勒比精品 | 久久久国际精品| 欧美色手机在线观看| 福利电影一区二区| 婷婷综合久久一区二区三区| 中文字幕欧美一区| 精品久久一区二区三区| 欧美午夜免费电影| 91在线免费视频观看| 国产凹凸在线观看一区二区| 免费成人在线视频观看| 亚洲一区二区视频| 亚洲欧美另类综合偷拍| 久久久精品免费网站| 欧美一区永久视频免费观看| 欧洲一区二区三区在线| 岛国一区二区三区| 国产自产2019最新不卡| 久久99精品久久久久婷婷| 日精品一区二区三区| 一级中文字幕一区二区| 国产精品欧美一区喷水| 久久一区二区三区四区| 日韩欧美亚洲国产另类| 欧美美女一区二区三区| 色老汉一区二区三区| 99久久99久久久精品齐齐| 成人性生交大片免费看视频在线| 久久99精品久久久久婷婷| 日本亚洲视频在线| 午夜欧美2019年伦理| 亚洲精品欧美综合四区| 亚洲天天做日日做天天谢日日欢| 国产精品国模大尺度视频| 国产日韩欧美一区二区三区乱码| 欧美变态tickling挠脚心| 日韩一区二区中文字幕| 欧美一区二区三区免费| 日韩欧美亚洲国产另类| 欧美成人艳星乳罩| 国产午夜亚洲精品羞羞网站| 精品精品国产高清一毛片一天堂| 精品久久久久一区二区国产| 精品成人a区在线观看| 欧美精品一区二区三区一线天视频| 日韩美女一区二区三区四区| 日韩免费视频一区二区| 久久久精品免费免费| 亚洲国产高清aⅴ视频| 中文字幕亚洲精品在线观看| 亚洲精品成人天堂一二三| 亚洲一区二区偷拍精品| 日韩电影在线免费| 韩国三级中文字幕hd久久精品| 国产精品99久| 91在线精品秘密一区二区| 色综合天天综合网天天看片| 欧美日韩一区在线| 精品久久久久久久久久久久包黑料| 欧美大片日本大片免费观看| 久久精品夜色噜噜亚洲a∨| 国产精品久久毛片a| 亚洲国产综合91精品麻豆| 蜜臀a∨国产成人精品| 国产精品 日产精品 欧美精品| aa级大片欧美| 欧美女孩性生活视频| 国产日产欧美一区| 亚洲最大的成人av| 久久99热这里只有精品| 91在线一区二区三区| 日韩一区二区在线看片| 久久精品人人做人人综合| 亚洲精品你懂的| 免费日本视频一区| av一二三不卡影片| 欧美疯狂性受xxxxx喷水图片| 久久久一区二区三区| 一区二区三区小说| 国产乱码精品1区2区3区| 色综合久久精品| 久久色成人在线| 亚洲国产精品一区二区尤物区| 极品美女销魂一区二区三区| 91一区二区三区在线观看| 欧美一区二区三级| 亚洲精品第一国产综合野| 国产老女人精品毛片久久| 欧美无砖砖区免费| 国产精品麻豆一区二区| 美女mm1313爽爽久久久蜜臀| 色婷婷激情久久| 国产偷国产偷亚洲高清人白洁| 亚洲第一福利一区| 99精品视频中文字幕| 精品国产免费一区二区三区四区 | 日韩欧美不卡在线观看视频| 综合电影一区二区三区| 国产在线播精品第三| 日韩视频永久免费| 亚洲成人免费视| 色综合久久天天| 欧美高清在线一区| 国产高清在线精品| 日韩一区二区免费视频| 香蕉加勒比综合久久| 日本精品视频一区二区三区| 欧美国产精品一区二区| 国产乱妇无码大片在线观看| 日韩精品一区二区三区在线观看| 亚洲aaa精品| 日本高清免费不卡视频| 亚洲欧洲国产日本综合| 99精品黄色片免费大全| 国产精品福利一区二区三区| 国产v综合v亚洲欧| 国产精品私人自拍| 盗摄精品av一区二区三区| 中文字幕欧美日本乱码一线二线 | 蜜桃视频第一区免费观看| 在线不卡的av| 日本欧美大码aⅴ在线播放| 91精品国产麻豆国产自产在线 | 久久亚洲欧美国产精品乐播|