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

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

?? serialcheckview.cpp

?? 利用MSComm控件
?? CPP
字號:
// SerialCheckView.cpp : implementation of the CSerialCheckView class
//

#include "stdafx.h"
#include "SerialCheck.h"

#include "SerialCheckDoc.h"
#include "SerialCheckView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSerialCheckView

IMPLEMENT_DYNCREATE(CSerialCheckView, CFormView)

BEGIN_EVENTSINK_MAP(CSerialCheckView, CFormView)
	ON_EVENT(CSerialCheckView, ID_COMMCTRL, 1, OnCommMscomm, VTS_NONE)
END_EVENTSINK_MAP()

BEGIN_MESSAGE_MAP(CSerialCheckView, CFormView)
	//{{AFX_MSG_MAP(CSerialCheckView)
	ON_BN_CLICKED(IDC_CHANGE, OnChange)
	ON_BN_CLICKED(IDC_AUTO, OnAuto)
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSerialCheckView construction/destruction

CSerialCheckView::CSerialCheckView()
	: CFormView(CSerialCheckView::IDD)
{
	//{{AFX_DATA_INIT(CSerialCheckView)
	m_strReceiveChar = _T("");
	//}}AFX_DATA_INIT
	// TODO: add construction code here
	bValid = FALSE;
	N = 0;
}

CSerialCheckView::~CSerialCheckView()
{
}

void CSerialCheckView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSerialCheckView)
	DDX_Control(pDX, IDC_AUTO, m_ctrlAuto);
	DDX_Control(pDX, IDC_CHANGE, m_ctrlChange);
	DDX_Text(pDX, IDC_RESULT, m_strReceiveChar);
	//}}AFX_DATA_MAP
}

BOOL CSerialCheckView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CFormView::PreCreateWindow(cs);
}

void CSerialCheckView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();

	DWORD style=WS_VISIBLE|WS_CHILD;
	if (!m_Com.Create(NULL,style,CRect(0,0,0,0),this,ID_COMMCTRL))
	{
		TRACE0("Failed to create OLE Communications Control\r\n");
	    return; //fail to create  
	}
	
	// TODO: Add extra initialization here
	m_Com.SetCommPort(1); //選擇COM1
	m_Com.SetInBufferSize(1024); //設置輸入緩沖區的大小,Bytes
	m_Com.SetOutBufferSize(512); //設置輸入緩沖區的大小,Bytes
	m_Com.SetRThreshold(1); 
	m_Com.SetInputMode(1);

	m_Com.SetSettings("9600,n,8,1");

	if(!m_Com.GetPortOpen()) //打開串口   
	{
		m_Com.SetPortOpen(TRUE);
	}
	else
		AfxMessageBox("串口1已被占用,請選擇其他串口");

}

/////////////////////////////////////////////////////////////////////////////
// CSerialCheckView printing

BOOL CSerialCheckView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CSerialCheckView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CSerialCheckView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

void CSerialCheckView::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
{
	// TODO: add customized printing code here
}

/////////////////////////////////////////////////////////////////////////////
// CSerialCheckView diagnostics

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

void CSerialCheckView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}

CSerialCheckDoc* CSerialCheckView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSerialCheckDoc)));
	return (CSerialCheckDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CSerialCheckView message handlers
//MSComm控件的OnComm事件處理過程。和其他的OnComm處理過程一樣,這里也采用分支事 件//方式,圖過是接收時間,則顯示到接收顯示文本框中,這些信息包括本機Modem返回信息,以及遠程計算//機傳送的數據。
void CSerialCheckView::OnCommMscomm()
{
    int  nEvent;
	
    nEvent = m_Com.GetCommEvent();

	switch(nEvent)
	{
	case 2:  //收到大于RTHresshold個字符
		switch(N)
		{
		case 1:
			OutputResult("bps = 9600, data = 8:");
			break;
		case 2:
			OutputResult("bps = 9600, data = 7:");
			break;
		case 3:
			OutputResult("bps = 9600, data = 6:");
			break;
		case 4:
			OutputResult("bps = 9600, data = 5:");
			break;
		case 5:
			OutputResult("bps = 4800, data = 8:");
			break;
		case 6:
			OutputResult("bps = 4800, data = 7:");
			break;
		case 7:
			OutputResult("bps = 4800, data = 6:");
			break;
		case 8:
			OutputResult("bps = 4800, data = 5:");
			break;
		case 9:
			OutputResult("bps = 2400, data = 8:");
			break;
		case 10:
			OutputResult("bps = 2400, data = 7:");
			break;
		case 11:
			OutputResult("bps = 2400, data = 6:");
			break;
		case 12:
			OutputResult("bps = 2400, data = 5:");
			break;
		case 13:
			OutputResult("bps = 1200, data = 8:");
			break;
		case 14:
			OutputResult("bps = 1200, data = 7:");
			break;
		case 15:
			OutputResult("bps = 1200, data = 6:");
			break;
		case 16:
			OutputResult("bps = 1200, data = 5:");
			break;
		}
		break;
	case 3:  //CTS線狀態發生了變化
		break;
	case 4:  //DSR線狀態發生了變化
		break;
	case 5:  //CD線狀態發生了變化
		break;
	case 6:  //Ring Indicator發生變化
		break;
	}    

	
	
	UpdateData(FALSE);
}

void CSerialCheckView::OutputResult(CString strTemp)
{
	VARIANT variant_inp;
	COleSafeArray safearray_inp;
	LONG len,k;
	BYTE rxdata[2048]; //設置BYTE數組 An 8-bit integerthat is not signed.
	CString strtemp, str = _T("");

	
	variant_inp = m_Com.GetInput();   //讀緩沖區
	safearray_inp = variant_inp;  //VARIANT型變量轉換為ColeSafeArray型變量
	len=safearray_inp.GetOneDimSize(); //得到有效數據長度
	for(k=0;k<len;k++)
		safearray_inp.GetElement(&k,rxdata+k);//轉換為BYTE型數組
	for(k=0;k<len;k++)             //將數組轉換為Cstring型變量
	{
		BYTE bt=*(char*)(rxdata+k);      //字符型
							
		strtemp.Format("%c",bt); //將字符送入臨時變量strtemp存放

		str = str + strtemp;    //加入接收編輯框對應字符串    
	}
		
	m_strReceiveChar = m_strReceiveChar + strTemp + " 輸入字符 " + str + "\r\n";
}

void CSerialCheckView::OnChange() 
{
	// TODO: Add your control notification handler code here
	if(m_Com.GetPortOpen()) //打開串口   
		m_Com.SetPortOpen(FALSE);	
	
	m_Com.SetCommPort(1); //選擇COM1
	m_Com.SetInBufferSize(1024); //設置輸入緩沖區的大小,Bytes
	m_Com.SetOutBufferSize(512); //設置輸入緩沖區的大小,Bytes
	m_Com.SetRThreshold(1); 
	m_Com.SetInputMode(1);

	N++;

	switch(N)
	{
	case 1:
		m_Com.SetSettings("9600,n,8,1");
		break;
	case 2:
		m_Com.SetSettings("9600,n,7,1");
		break;
	case 3:
		m_Com.SetSettings("9600,n,6,1");
		break;
	case 4:
		m_Com.SetSettings("9600,n,5,1");
		break;
	case 5:
		m_Com.SetSettings("4800,n,8,1");
		break;
	case 6:
		m_Com.SetSettings("4800,n,7,1");
		break;
	case 7:
		m_Com.SetSettings("4800,n,6,1");
		break;
	case 8:
		m_Com.SetSettings("4800,n,5,1");
		break;
	case 9:
		m_Com.SetSettings("2400,n,8,1");
		break;
	case 10:
		m_Com.SetSettings("2400,n,7,1");
		break;
	case 11:
		m_Com.SetSettings("2400,n,6,1");
		break;
	case 12:
		m_Com.SetSettings("2400,n,5,1");
		break;
	case 13:
		m_Com.SetSettings("1200,n,8,1");
		break;
	case 14:
		m_Com.SetSettings("1200,n,7,1");
		break;
	case 15:
		m_Com.SetSettings("1200,n,6,1");
		break;
	case 16:
		m_Com.SetSettings("1200,n,5,1");
		break;
	case 17:
		N = 0;
		m_strReceiveChar = "";
		break;
	}	

	m_Com.SetPortOpen(TRUE);
	UpdateData(FALSE);
		
	CString strTemp;
	if(N == 0)
		strTemp.Format("人工更改配置");
	else
		strTemp.Format("人工更改(模式%d)", N);
	m_ctrlChange.SetWindowText(strTemp);	
}

void CSerialCheckView::OnAuto() 
{
	// TODO: Add your control notification handler code here
	N = 0;
	bValid = !bValid;
	m_strReceiveChar = "";
	UpdateData(FALSE);
	
	if(bValid)
	{
		m_ctrlAuto.SetWindowText("停止自動");
		SetTimer(1, 5000, NULL);
	}
	else
	{
		m_ctrlAuto.SetWindowText("自動模式(1s)");
		KillTimer(1);
	}		
	
	m_ctrlChange.SetWindowText("人工更改配置");	
}

void CSerialCheckView::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	if(m_Com.GetPortOpen()) //打開串口   
		m_Com.SetPortOpen(FALSE);	
	
	m_Com.SetCommPort(1); //選擇COM1
	m_Com.SetInBufferSize(1024); //設置輸入緩沖區的大小,Bytes
	m_Com.SetOutBufferSize(512); //設置輸入緩沖區的大小,Bytes
	m_Com.SetRThreshold(1); 
	m_Com.SetInputMode(1);


	N++;	
	switch(N)
	{
	case 1:
		m_Com.SetSettings("9600,n,8,1");
		break;
	case 2:
		m_Com.SetSettings("9600,n,7,1");
		break;
	case 3:
		m_Com.SetSettings("9600,n,6,1");
		break;
	case 4:
		m_Com.SetSettings("9600,n,5,1");
		break;
	case 5:
		m_Com.SetSettings("4800,n,8,1");
		break;
	case 6:
		m_Com.SetSettings("4800,n,7,1");
		break;
	case 7:
		m_Com.SetSettings("4800,n,6,1");
		break;
	case 8:
		m_Com.SetSettings("4800,n,5,1");
		break;
	case 9:
		m_Com.SetSettings("2400,n,8,1");
		break;
	case 10:
		m_Com.SetSettings("2400,n,7,1");
		break;
	case 11:
		m_Com.SetSettings("2400,n,6,1");
		break;
	case 12:
		m_Com.SetSettings("2400,n,5,1");
		break;
	case 13:
		m_Com.SetSettings("1200,n,8,1");
		break;
	case 14:
		m_Com.SetSettings("1200,n,7,1");
		break;
	case 15:
		m_Com.SetSettings("1200,n,6,1");
		break;
	case 16:
		m_Com.SetSettings("1200,n,5,1");
		break;
	case 17:		
		N = 0;
		break;
	}	

	m_Com.SetPortOpen(TRUE);

	CString strTemp;
	strTemp.Format("停止自動(模式%d)", N);
	m_ctrlAuto.SetWindowText(strTemp);

	CFormView::OnTimer(nIDEvent);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品中文字幕一区二区三区 | 欧美日韩视频在线观看一区二区三区 | 99久精品国产| 精品日韩一区二区三区| 图片区日韩欧美亚洲| 欧美性欧美巨大黑白大战| 亚洲色图清纯唯美| av一二三不卡影片| 中文字幕一区二区三区精华液| 国产精品香蕉一区二区三区| 欧美精品一区二区三区四区| 奇米精品一区二区三区在线观看一 | 国产成人av电影在线| 久久久影院官网| 粉嫩一区二区三区在线看| 国产精品人妖ts系列视频| av一本久道久久综合久久鬼色| 国产精品三级久久久久三级| 不卡av在线网| 亚洲国产精品久久久久秋霞影院| 欧美日韩久久一区| 美国欧美日韩国产在线播放| 久久综合一区二区| 99国产精品视频免费观看| 专区另类欧美日韩| 欧美男人的天堂一二区| 久热成人在线视频| 国产精品成人在线观看| 欧美日韩专区在线| 精品在线亚洲视频| 亚洲免费在线电影| 欧美不卡一二三| 日韩一卡二卡三卡四卡| 国产成人丝袜美腿| 日韩久久一区二区| 欧美一区二区三区在线视频| 成人午夜免费av| 亚洲成人激情社区| 国产精品乱码一区二三区小蝌蚪| 欧美三级视频在线播放| 国产乱国产乱300精品| 亚洲综合小说图片| 国产精品人人做人人爽人人添 | 国产美女在线精品| 亚洲成精国产精品女| 亚洲欧美综合在线精品| 亚洲精品在线电影| 欧美日韩一区视频| 91美女视频网站| 高清不卡一区二区在线| 蜜桃视频一区二区三区在线观看| 亚洲卡通欧美制服中文| 久久久亚洲高清| 精品噜噜噜噜久久久久久久久试看| 99国产精品99久久久久久| 国产精品一区免费视频| 青青草91视频| 日本中文一区二区三区| 香蕉成人啪国产精品视频综合网| 日韩一区在线看| 亚洲免费资源在线播放| 亚洲欧洲另类国产综合| 亚洲欧美日本韩国| 韩国理伦片一区二区三区在线播放| 国产亚洲午夜高清国产拍精品| 欧日韩精品视频| 国内精品久久久久影院色| 91麻豆精品国产91久久久久久久久| 亚洲精品免费在线观看| 国产精品伦一区| 日韩电影在线一区二区三区| 国产精品性做久久久久久| 色呦呦国产精品| 国产亚洲欧美色| 一区二区三区精品| 国产99久久久国产精品潘金| 欧美三级日韩在线| 国产精品欧美极品| 五月婷婷激情综合网| 婷婷久久综合九色综合伊人色| 一区二区三区在线播放| 日韩精品电影一区亚洲| 日韩国产在线一| 韩国v欧美v日本v亚洲v| 国产成人三级在线观看| 91香蕉视频污在线| 欧美日韩第一区日日骚| 欧美成人video| 中文字幕不卡一区| 亚洲一区二区av在线| 久久精品国产**网站演员| 国产精品主播直播| 91成人在线观看喷潮| 日韩免费视频线观看| 国产精品全国免费观看高清| 亚洲国产乱码最新视频| 国产一区二区免费视频| 色综合网站在线| 亚洲精品日日夜夜| 手机精品视频在线观看| 国产精品1区二区.| 日韩一区二区三| 亚洲丝袜美腿综合| 久久99国产精品免费网站| 色88888久久久久久影院按摩 | 欧美日韩一级黄| 亚洲欧洲精品一区二区三区不卡| 日韩av一级片| 一本大道av伊人久久综合| 久久一区二区三区国产精品| 亚洲成人av在线电影| 色综合色综合色综合色综合色综合| 欧美一区二区精品在线| 日韩精品每日更新| 7777精品伊人久久久大香线蕉超级流畅| 亚洲一区在线观看免费观看电影高清| av电影在线观看不卡| 国产精品女主播av| 色综合天天做天天爱| 亚洲精品乱码久久久久久久久| 97国产一区二区| 亚洲人成网站在线| 欧美在线free| 日韩影视精彩在线| 精品久久国产字幕高潮| 国产一区二区三区不卡在线观看 | 中文字幕av一区二区三区高| 国产夫妻精品视频| 1024成人网色www| 在线观看日产精品| 久久成人免费日本黄色| 亚洲伦理在线免费看| 色先锋久久av资源部| 男女激情视频一区| 国产性色一区二区| av亚洲精华国产精华| 亚洲国产成人91porn| 精品国产麻豆免费人成网站| av一区二区三区在线| 亚洲综合精品自拍| 日本一区二区视频在线| 欧美午夜在线一二页| 韩国理伦片一区二区三区在线播放| 国产精品妹子av| 精品欧美黑人一区二区三区| 91丨国产丨九色丨pron| 久久99精品久久久久久动态图| 国产精品情趣视频| 欧美电视剧免费全集观看| 91免费版在线看| 国产乱码精品一区二区三| 亚洲综合在线电影| 久久精品视频在线免费观看 | 久久99国产精品免费网站| 一区2区3区在线看| 中文一区二区在线观看| 日韩欧美电影一二三| 麻豆91在线观看| 久久女同精品一区二区| 欧美一级视频精品观看| 欧美精品国产精品| 91精品国产欧美日韩| 欧美一卡二卡在线| 337p粉嫩大胆噜噜噜噜噜91av| 日韩欧美三级在线| 久久精品亚洲精品国产欧美kt∨ | 99久久国产综合精品色伊| 91麻豆视频网站| 欧美三区在线观看| 欧美裸体一区二区三区| 欧美精品第一页| 欧美精品99久久久**| 91精品国产麻豆| 欧美大黄免费观看| 久久精品一区八戒影视| 中文字幕不卡三区| 亚洲精品日日夜夜| 久88久久88久久久| 免费久久精品视频| 国产精品一区二区免费不卡| 懂色av一区二区三区免费观看| 国产福利精品一区二区| 国产成人无遮挡在线视频| aaa亚洲精品| 欧美人伦禁忌dvd放荡欲情| 91精品国产一区二区人妖| 久久久久久电影| 亚洲欧美另类图片小说| 男人操女人的视频在线观看欧美| 精品一区二区三区免费观看 | 欧美亚一区二区| 日韩欧美久久久| 亚洲欧洲性图库| 日本在线不卡一区| 丁香天五香天堂综合| 欧美亚洲自拍偷拍| 精品久久久久久亚洲综合网| 亚洲免费在线观看视频| 精品一区二区免费在线观看| 色婷婷久久久综合中文字幕|