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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? myserialdlg.cpp

?? EVC串口通信 x86下.希望大家使用愉快。
?? CPP
字號:
// MyserialDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Myserial.h"
#include "MyserialDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyserialDlg dialog

CMyserialDlg::CMyserialDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMyserialDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMyserialDlg)
	m_strSendEdit = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMyserialDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMyserialDlg)
	DDX_Text(pDX, IDC_EDIT_WRITE, m_strSendEdit);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMyserialDlg, CDialog)
	//{{AFX_MSG_MAP(CMyserialDlg)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_WRITE, OnWrite)
	ON_BN_CLICKED(IDC_OPEN, OnOpen)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyserialDlg message handlers

BOOL CMyserialDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen

	// TODO: Add extra initialization here

	return TRUE;  // return TRUE  unless you set the focus to a control
}



void CMyserialDlg::OnButton1() //關(guān)閉串口
{
	// TODO: Add your control notification handler code here

		if (m_ExitThreadEvent != NULL)
	{
		SetEvent(m_ExitThreadEvent);					/* 通知線程退出 */
		Sleep(1000);
		CloseHandle(m_ExitThreadEvent);
		m_ExitThreadEvent = NULL;
	}
ClosePort();
}

void CMyserialDlg::OnWrite() 
{
  
 int rc;
UpdateData(TRUE);
int len = m_strSendEdit.GetLength();				 /* 取得輸入字符串長度 */
	char *psendbuf = new char[len];
DWORD dwactlen;
	for(int i = 0; i < len;i++)
		psendbuf[i] = (char)m_strSendEdit.GetAt(i);		 /* 轉(zhuǎn)換為單字節(jié)字符 */

	rc=WriteFile(m_hSerial, psendbuf, len, &dwactlen, NULL);	 /* 從串口發(fā)送數(shù)據(jù) */
	
	delete[] psendbuf;



}

void CMyserialDlg::OnOpen() 
{
	// TODO: Add your control notification handler code here
		
m_hSerial = CreateFile(L"COM1:", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(m_hSerial == NULL)
{
	MessageBox(_T("無法打開端口或端口已打開!請檢查是否已被占用."));
}

///配置串口

DCB PortDCB; 
PortDCB.DCBlength = sizeof(DCB); 
// 默認(rèn)串口參數(shù)
GetCommState(m_hSerial, &PortDCB);
PortDCB.BaudRate = 9600; // baud
PortDCB.ByteSize = 8; // Number of bits/byte, 4-8 
PortDCB.Parity = NOPARITY; 
PortDCB.StopBits = ONE5STOPBITS; 
if (! SetCommState(m_hSerial, &PortDCB))
{
MessageBox(_T("配置串口失敗"));
}

////配置超時(shí)值

COMMTIMEOUTS CommTimeouts;

GetCommTimeouts(m_hSerial, &CommTimeouts);
CommTimeouts.ReadIntervalTimeout = MAXDWORD; 
CommTimeouts.ReadTotalTimeoutMultiplier = 10; 
CommTimeouts.ReadTotalTimeoutConstant = 10; 
CommTimeouts.WriteTotalTimeoutMultiplier = 50; 
CommTimeouts.WriteTotalTimeoutConstant = 100; 
if (!SetCommTimeouts(m_hSerial, &CommTimeouts))
{
MessageBox(_T("不能設(shè)置超時(shí)參數(shù)"));
}

	DWORD IDThread;
	HANDLE hRecvThread;	
	m_ExitThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL);	
	/* 創(chuàng)建串口接收線程退出事件*/

	// 創(chuàng)建串口接收線程
	hRecvThread = CreateThread(0, 0, CommRecvTread, this, 0, &IDThread);
	if (hRecvThread == NULL) 
	{
		MessageBox(_T("創(chuàng)建接收線程失敗!"));
		return;
	}	
	CloseHandle(hRecvThread);

}
 DWORD CMyserialDlg::CommRecvTread(LPVOID lparam)
{
	DWORD dwLength;
	char *recvBuf = new char[1024];
	CMyserialDlg *pDlg = (CMyserialDlg*)lparam;
	while(TRUE)
	{																/* 等待線程退出事件 */
		if (WaitForSingleObject(pDlg->m_ExitThreadEvent, 0) == WAIT_OBJECT_0)
			break;	

		if (pDlg->m_hSerial != INVALID_HANDLE_VALUE)
		{															/* 從串口讀取數(shù)據(jù) */
			BOOL fReadState = ReadFile(pDlg->m_hSerial, recvBuf, 1024, &dwLength, NULL);
			if(!fReadState)
			{
	//	AfxMessageBox(_T("無法從串口讀取數(shù)據(jù)!"));
			}
			else
			{
				if(dwLength != 0)
				OnCommRecv(pDlg,recvBuf,dwLength);
			}
		}
	}		

	delete[] recvBuf;
	return 0;
}
 void CALLBACK CMyserialDlg::OnCommRecv(CWnd* pWnd, char *buf, int buflen)
{
	CString tmp;

	CMyserialDlg * pDlg = (CMyserialDlg*)pWnd;
	CEdit *pRecvStrEdit = (CEdit*)pDlg->GetDlgItem(IDC_REC_DISP);
														/* 取得控件指針 */
	for (int i = 0; i < buflen; i++, buf++)
	{
		tmp.Format(_T("%c"), *buf);						/* 將字符轉(zhuǎn)換為字符串 */
		pDlg->m_strRecDisp += tmp;
	}
	pRecvStrEdit->SetWindowText(pDlg->m_strRecDisp);	/* 顯示在窗口上 */
}


BOOL CMyserialDlg::ClosePort()
{
	if(m_hSerial != NULL) 
{
SetCommMask(m_hSerial, 0);		
PurgeComm(m_hSerial, PURGE_TXCLEAR | PURGE_RXCLEAR);	/* 清除收/發(fā)緩沖 */
CloseHandle(m_hSerial);								/* 關(guān)閉串口操作句柄 */
m_hSerial = NULL;
return TRUE;
}
return FALSE;
}

void CMyserialDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	
	// TODO: Add your message handler code here
	
		if (m_ExitThreadEvent != NULL)
	{
		SetEvent(m_ExitThreadEvent);					/* 通知線程退出 */
		Sleep(1000);
		CloseHandle(m_ExitThreadEvent);
		m_ExitThreadEvent = NULL;
	}
ClosePort();
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久嫩草精品久久久精品一| 91精品国产欧美一区二区成人 | 日韩欧美久久久| 日本aⅴ精品一区二区三区| 在线播放91灌醉迷j高跟美女| 亚洲chinese男男1069| 91精品国产高清一区二区三区 | 国产人成一区二区三区影院| av在线不卡网| 一区二区在线观看免费视频播放| 欧美视频一区二区三区在线观看| 奇米一区二区三区av| 精品99999| 99精品久久久久久| 视频一区视频二区在线观看| 久久一二三国产| 色老汉一区二区三区| 天天综合网天天综合色| 久久先锋影音av鲁色资源| 99国产精品国产精品毛片| 亚洲一区二区三区视频在线播放 | 欧美二区在线观看| 激情久久五月天| 综合中文字幕亚洲| 欧美一级黄色录像| 99久久伊人精品| 日日摸夜夜添夜夜添亚洲女人| 亚洲精品在线三区| 欧美视频三区在线播放| 欧美久久一二三四区| 国产一区二区三区国产| 亚洲黄色尤物视频| 26uuu成人网一区二区三区| 91黄色激情网站| 国产精品中文字幕日韩精品| 亚洲欧美国产77777| 欧美videofree性高清杂交| 91小宝寻花一区二区三区| 麻豆一区二区在线| 亚洲黄一区二区三区| 国产日韩欧美亚洲| 911精品国产一区二区在线| 99精品在线免费| 国产乱妇无码大片在线观看| 亚洲超碰精品一区二区| 亚洲色图清纯唯美| 国产日韩三级在线| 91精品国产欧美日韩| 欧美专区亚洲专区| 国产福利91精品一区| 麻豆精品视频在线观看| 午夜精品久久久久久久久久| 亚洲人成在线观看一区二区| 久久亚洲精品小早川怜子| 欧美日本一区二区在线观看| 99在线精品视频| 国产v日产∨综合v精品视频| 麻豆精品久久精品色综合| 亚洲国产精品一区二区久久| 亚洲乱码日产精品bd| 国产欧美精品在线观看| 久久亚洲一区二区三区明星换脸 | 欧美激情一区二区三区四区| 欧美一区二区网站| 一本大道久久a久久综合| 成人av片在线观看| 成人免费看黄yyy456| 国产91精品露脸国语对白| 国内一区二区视频| 国产在线视视频有精品| 久久精品国产第一区二区三区| 亚洲国产一区二区在线播放| 亚洲国产精品一区二区www| 一区二区三区精品视频在线| 亚洲少妇最新在线视频| 综合分类小说区另类春色亚洲小说欧美| 国产婷婷色一区二区三区| 久久女同互慰一区二区三区| 久久精品夜色噜噜亚洲a∨| 久久精品视频在线免费观看| 久久久久国产精品免费免费搜索| 2020国产精品自拍| 国产性色一区二区| 国产精品国模大尺度视频| 国产精品美女久久久久久久网站| 国产精品欧美综合在线| 日韩伦理免费电影| 樱花草国产18久久久久| 亚洲成a人v欧美综合天堂| 日韩在线a电影| 国产一区二区三区四区五区美女| 丁香天五香天堂综合| 91日韩精品一区| 欧美精品久久天天躁| 精品国产一区二区三区忘忧草| 久久久久亚洲蜜桃| 中文字幕一区不卡| 亚洲尤物在线视频观看| 亚洲成av人影院在线观看网| 久久机这里只有精品| 国产成人午夜精品影院观看视频 | 成人动漫一区二区三区| 91啪九色porn原创视频在线观看| 91久久国产最好的精华液| 欧美色图12p| 日韩欧美aaaaaa| 国产精品理伦片| 亚洲18色成人| 国产麻豆9l精品三级站| 91视频xxxx| 欧美一区二区视频观看视频| 欧美国产成人精品| 天天av天天翘天天综合网色鬼国产| 韩国精品在线观看| 在线免费一区三区| 久久影视一区二区| 亚洲一卡二卡三卡四卡五卡| 精品一区二区综合| 91成人免费在线| 久久久久国产精品麻豆ai换脸| 亚洲精品一二三四区| 韩国av一区二区三区在线观看| 91蜜桃在线观看| 久久亚洲综合色一区二区三区| 亚洲一区二区成人在线观看| 狠狠色丁香久久婷婷综合_中| 91行情网站电视在线观看高清版| 欧美成人一区二区三区在线观看 | 日本中文字幕一区二区视频| av电影在线观看完整版一区二区| 欧美日韩久久久久久| 中文字幕一区二区在线观看 | 亚洲一区自拍偷拍| 国产精品影视在线| 884aa四虎影成人精品一区| 国产精品美女一区二区| 黄色精品一二区| 欧美精选午夜久久久乱码6080| 国产精品另类一区| 韩国中文字幕2020精品| 91精品免费观看| 一区二区欧美在线观看| 成人国产亚洲欧美成人综合网 | 国产精品一区二区黑丝| 欧美另类高清zo欧美| ●精品国产综合乱码久久久久| 激情综合亚洲精品| 91精品国产综合久久精品图片| 国产精品久久久久久久午夜片| 国产一区二区伦理片| 精品黑人一区二区三区久久| 午夜精品久久久久久久蜜桃app| 色婷婷综合久久久中文字幕| 国产精品初高中害羞小美女文| 国产激情91久久精品导航 | www.色综合.com| 久久麻豆一区二区| 国产在线国偷精品产拍免费yy| 日韩视频国产视频| 免费看日韩a级影片| 制服丝袜av成人在线看| 亚洲大片在线观看| 欧美日韩国产影片| 亚洲电影一级片| 欧美三级三级三级爽爽爽| 一二三四社区欧美黄| 欧美午夜电影在线播放| 亚洲综合视频在线| 欧美综合欧美视频| 天堂久久一区二区三区| 欧美一区二区三区人| 看电视剧不卡顿的网站| 欧美tickle裸体挠脚心vk| 久久精品久久精品| 亚洲精品一区二区三区蜜桃下载| 韩国一区二区在线观看| 久久久99精品免费观看不卡| 国产乱子伦一区二区三区国色天香| 精品国产欧美一区二区| 国产另类ts人妖一区二区| 欧美国产激情一区二区三区蜜月| 成人激情视频网站| 一区二区三区四区高清精品免费观看 | 久久伊人中文字幕| 成人丝袜18视频在线观看| 综合欧美一区二区三区| 欧美日韩一区不卡| 毛片av中文字幕一区二区| 精品第一国产综合精品aⅴ| 国产成人免费9x9x人网站视频| 中文字幕一区二区三| 欧美精品亚洲二区| 久久精品国产99久久6| 亚洲国产精品高清| 欧洲一区在线观看| 久久超碰97中文字幕| 国产精品美女一区二区在线观看| 日本韩国视频一区二区| 蜜臀91精品一区二区三区| 中文字幕久久午夜不卡|