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

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

?? serialportwm5dlg.cpp

?? 基于Windows Mobile 5.0 Pocket PC 的串口調試源碼
?? CPP
字號:
// SerialPortWM5Dlg.cpp : 實現文件
//

#include "stdafx.h"
#include "SerialPortWM5.h"
#include "SerialPortWM5Dlg.h"

#include "SetupDlg.h"

#define WM_NEW_DATA_ARRIVE WM_USER+1

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CSerialPortWM5Dlg 對話框

CSerialPortWM5Dlg::CSerialPortWM5Dlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSerialPortWM5Dlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	m_strReceive = _T("");
	m_strTransmit = _T("");
}

void CSerialPortWM5Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_RECEIVE, m_CtrlReceive);
	DDX_Text(pDX, IDC_RECEIVE, m_strReceive);
	DDX_Text(pDX, IDC_TRANSMIT, m_strTransmit);
}

BEGIN_MESSAGE_MAP(CSerialPortWM5Dlg, CDialog)
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
	ON_WM_SIZE()
#endif
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDC_SETUP, OnSetup)
	ON_BN_CLICKED(IDC_OPEN, OnOpen)
	ON_BN_CLICKED(IDC_CLEAR_RECE, OnClearRece)
	ON_BN_CLICKED(IDC_CLEAR_SEND, OnClearSend)
	ON_BN_CLICKED(IDC_RECE, OnRece)
	ON_BN_CLICKED(IDC_SEND, OnSend)
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_CHECK_HEX, OnCheckHex)
	ON_BN_CLICKED(IDC_SEND_FILE, OnSendFile)
	ON_BN_CLICKED(IDC_SAVE_RECEIVED, OnSaveReceived)
	ON_BN_CLICKED(IDC_CHECK_HEX_SEND, OnCheckHexSend)
	ON_MESSAGE(WM_NEW_DATA_ARRIVE,OnDataArrivedMsg)
END_MESSAGE_MAP()


// CSerialPortWM5Dlg 消息處理程序

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

	// 設置此對話框的圖標。當應用程序主窗口不是對話框時,框架將自動
	//  執行此操作
	SetIcon(m_hIcon, TRUE);			// 設置大圖標
	SetIcon(m_hIcon, FALSE);		// 設置小圖標

	// TODO: 在此添加額外的初始化代碼
	//初始化變量
	BaudRates[0]=1200;
	BaudRates[1]=2400;
	BaudRates[2]=4800;
	BaudRates[3]=9600;
	BaudRates[4]=19200;
	BaudRates[5]=38400;
	BaudRates[6]=57600;
	BaudRates[7]=115200;

	PortIDs[0]=L"COM1:";
	PortIDs[1]=L"COM2:";
	PortIDs[2]=L"COM3:";
	PortIDs[3]=L"COM4:";
	PortIDs[4]=L"COM5:";
	PortIDs[5]=L"COM6:";
	PortIDs[6]=L"COM7:";
	PortIDs[7]=L"COM8:";
	PortIDs[8]=L"COM9:";

	PortNo=1;
	BaudRate=3;
	DataBits=8;
	StopBits=ONESTOPBIT;
	Parity=NOPARITY;

	Open=FALSE;
	Receive=FALSE;
	HexDisplay=FALSE;
	HexSend=FALSE;

	m_strDataReceived=_T("");

	m_pSerial=new CPSerialPort();
	
	return TRUE;  // 除非將焦點設置到控件,否則返回 TRUE
}

#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void CSerialPortWM5Dlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
	DRA::RelayoutDialog(
		AfxGetInstanceHandle(), 
		this->m_hWnd, 
		DRA::GetDisplayMode() != DRA::Portrait ? 
			MAKEINTRESOURCE(IDD_SERIALPORTWM5_DIALOG_WIDE) : 
			MAKEINTRESOURCE(IDD_SERIALPORTWM5_DIALOG));
}
#endif

void CSerialPortWM5Dlg::OnDataArrive(char *data,int length,DWORD userdata)
{
	CSerialPortWM5Dlg *pWnd=(CSerialPortWM5Dlg *)userdata;
	::SendMessage(pWnd->m_hWnd,WM_NEW_DATA_ARRIVE,(WPARAM)data,LPARAM(length));
}

LONG CSerialPortWM5Dlg::OnDataArrivedMsg(WPARAM wParam,LPARAM lParam)
{
	//處理收到的數據
	int length=(int)lParam;
	char *data=(char*)wParam;
	CString THex(_T(""));

	int i;

	if(length!=0)
	{
		if(HexDisplay)
		{
			for(i=0;i<length;i++)
			{
				if(data[i]<16)
				{
					THex.Format(_T("0%X "),data[i]);
				}
				else
				{
					THex.Format(_T("%2X "),data[i]);
				}
				m_strDataReceived+=THex;
			}
		}
		else
		{
			m_strDataReceived=CString(data).Left(length);
		}
		m_strReceive+=m_strDataReceived;
		m_strDataReceived=_T("");
		SetDlgItemText(IDC_RECEIVE,m_strReceive);
		m_CtrlReceive.SetSel(m_strReceive.GetLength(),m_strReceive.GetLength(),FALSE);
	}

	return 0;
}


BOOL CSerialPortWM5Dlg::SaveReceivedToFile(LPCTSTR FileName)
{
	int i;
	CFile cf;
	DWORD dwBytesToSave=m_strReceive.GetLength();
	
	if(!cf.Open(FileName,CFile::modeWrite|CFile::modeCreate))
	{
		AfxMessageBox(_T("無法打開Text文件!"));
	}

	cf.Seek(0,CFile::begin);
	char * buf=new char[dwBytesToSave];
	for(i=0;i<dwBytesToSave;i++)
	{
		buf[i]=m_strReceive.GetAt(i);
	}	

	cf.Write(buf,dwBytesToSave);
	
	delete[] buf;
	cf.Close();

	return TRUE;
}

void CSerialPortWM5Dlg::OnSetup() 
{
	CSetupDlg* Dialog1;
	Dialog1=new CSetupDlg;

	Dialog1->BaudRate=BaudRate;
	Dialog1->PortNo=PortNo-1;
	Dialog1->DataBits=DataBits-7;
	Dialog1->StopBits=StopBits;
	Dialog1->Parity=Parity;

	if(Dialog1->DoModal()==IDOK)
	{
		BaudRate=Dialog1->BaudRate;
		PortNo=Dialog1->PortNo+1;
		DataBits=Dialog1->DataBits+7;
		StopBits=Dialog1->StopBits;
		Parity=Dialog1->Parity;
	}

	delete Dialog1;
	
}

void CSerialPortWM5Dlg::OnOpen() 
{
	if(!Open)
	{
		PortID=PortIDs[PortNo-1];
		Open=m_pSerial->OpenPort(PortID,BaudRates[BaudRate],DataBits,StopBits,Parity,OnDataArrive,(DWORD)this);
		if(Open)
		{
			SetDlgItemText(IDC_OPEN,_T("關閉端口"));
		}
	}
	else
	{
		m_pSerial->ClosePort();
		Open=FALSE;
		Receive=FALSE;
		SetDlgItemText(IDC_RECE,_T("接收"));
		SetDlgItemText(IDC_OPEN,_T("打開端口"));
	}
}

void CSerialPortWM5Dlg::OnClearRece() 
{
	m_strReceive=_T("");
	GetDlgItemText(IDC_TRANSMIT,m_strTransmit);
	UpdateData(FALSE);
}

void CSerialPortWM5Dlg::OnClearSend() 
{
	m_strTransmit=_T("");
	UpdateData(FALSE);
}

void CSerialPortWM5Dlg::OnRece() 
{
	if(!Receive)
	{
		Receive=m_pSerial->Activate();
		if(Receive)
		{
			SetDlgItemText(IDC_RECE,_T("不接收"));
		}
	}
	else
	{
		m_pSerial->Deactivate();
		Receive=FALSE;
		SetDlgItemText(IDC_RECE,_T("接收"));
	}
}

void CSerialPortWM5Dlg::OnSend() 
{
	DWORD dwCharToWrite=0;
	DWORD dwBytesWritten=0;
	int i,j;

	GetDlgItemText(IDC_TRANSMIT,m_strTransmit);
	if(!HexSend)
	{
		dwCharToWrite=(DWORD)m_strTransmit.GetLength();
	}
	else
	{
		for(i=0;i<m_strTransmit.GetLength()/2;i++)
		{
			if(((m_strTransmit.GetAt(i*2)>='0'&&m_strTransmit.GetAt(i*2)<='9')||(m_strTransmit.GetAt(i*2)>='A'&&m_strTransmit.GetAt(i*2)<='F'))&&((m_strTransmit.GetAt(i*2+1)>='0'&&m_strTransmit.GetAt(i*2+1)<='9')||(m_strTransmit.GetAt(i*2+1)>='A'&&m_strTransmit.GetAt(i*2+1)<='F')))
			{
				dwCharToWrite++;
			}
		}
	}
	dwBytesWritten=0;
	
	if(Open&&dwCharToWrite!=0)
	{
		char* buf=new char[dwCharToWrite];
		if(!HexSend)
		{			
			for(i=0;i<(int)dwCharToWrite;i++)
			{
				buf[i]=(char)m_strTransmit.GetAt(i);
			}
		}
		else
		{
			j=0;
			for(i=0;i<m_strTransmit.GetLength()/2;i++)
			{
				if(((m_strTransmit.GetAt(i*2)>='0'&&m_strTransmit.GetAt(i*2)<='9')||(m_strTransmit.GetAt(i*2)>='A'&&m_strTransmit.GetAt(i*2)<='F'))&&((m_strTransmit.GetAt(i*2+1)>='0'&&m_strTransmit.GetAt(i*2+1)<='9')||(m_strTransmit.GetAt(i*2+1)>='A'&&m_strTransmit.GetAt(i*2+1)<='F')))
				{
					if(m_strTransmit.GetAt(i*2+1)>='0'&&m_strTransmit.GetAt(i*2+1)<='9')
					{
						buf[j]=m_strTransmit.GetAt(i*2+1)-48;
					}
					else
					{
						buf[j]=m_strTransmit.GetAt(i*2+1)-55;
					}
					if(m_strTransmit.GetAt(i*2)>='0'&&m_strTransmit.GetAt(i*2)<='9')
					{
						buf[j]+=(m_strTransmit.GetAt(i*2)-48)*16;
					}
					else
					{
						buf[j]+=(m_strTransmit.GetAt(i*2)-55)*16;
					}
					j++;
				}
			}
		}
		dwBytesWritten=m_pSerial->WritePort(buf,dwCharToWrite);
		if(dwBytesWritten==0)
		{
			AfxMessageBox(_T("無法向端口寫入數據!"));
		}
		delete[] buf;		
	}
}

void CSerialPortWM5Dlg::OnDestroy() 
{
	CDialog::OnDestroy();
	m_pSerial->ClosePort();
}

void CSerialPortWM5Dlg::OnCheckHex() 
{
	HexDisplay=!HexDisplay;
}

void CSerialPortWM5Dlg::OnSendFile() 
{
	if(!Open)
	{
		AfxMessageBox(_T("請先打開串口!"));
		return;
	}
	CString FileName(_T(""));
	CFileDialog FileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,_T("All Files(*.*)|*.*||"));
	if(FileDlg.DoModal()==IDOK)
	{
		FileName=FileDlg.GetPathName();
	}
	if(FileName!=_T(""))
	{
		m_pSerial->WriteFileToPort(FileName);
	}
}

void CSerialPortWM5Dlg::OnSaveReceived() 
{
	CString FileName(_T(""));
	CFileDialog FileDlg(FALSE,NULL,NULL,OFN_HIDEREADONLY,TEXT("Text Files(*.txt)|*.txt||"));
	if(FileDlg.DoModal()==IDOK)
	{
		FileName=FileDlg.GetPathName();
	}
	if(FileName!=_T(""))
	{
		SaveReceivedToFile(FileName);
	}
}

void CSerialPortWM5Dlg::OnCheckHexSend() 
{
	HexSend=!HexSend;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91在线|亚洲| 亚瑟在线精品视频| 91精品国产乱| 欧美日韩国产不卡| 色哟哟国产精品| 91麻豆国产在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 成人sese在线| 99re这里只有精品视频首页| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 91精品在线观看入口| 欧美日韩小视频| 欧美美女一区二区在线观看| 欧美年轻男男videosbes| 欧美日韩1234| 精品美女一区二区| 久久亚洲春色中文字幕久久久| 久久色中文字幕| 日本一区二区不卡视频| 国产精品久久久久久户外露出 | 亚洲欧美日韩国产综合| 自拍视频在线观看一区二区| 日韩一区日韩二区| 亚洲日本一区二区| 亚洲大片在线观看| 日本女优在线视频一区二区| 久久国产福利国产秒拍| 国产激情视频一区二区在线观看| 97久久超碰国产精品电影| 一本到不卡精品视频在线观看 | 日韩美女天天操| 国产日韩亚洲欧美综合| 亚洲乱码中文字幕| 日韩精品成人一区二区在线| 国产福利一区在线观看| 99re视频精品| 69堂成人精品免费视频| 久久久99免费| 亚洲一区二区三区国产| 久久国产麻豆精品| 99视频在线精品| 欧美一区二区三区爱爱| 国产精品色在线观看| 性做久久久久久久久| 国产一区二区三区免费在线观看| 色综合久久久久综合体| 日韩欧美久久久| 一区二区三区四区五区视频在线观看| 日日摸夜夜添夜夜添亚洲女人| 国产mv日韩mv欧美| 5月丁香婷婷综合| 亚洲视频一区二区在线| 狠狠色丁香婷婷综合| 91国偷自产一区二区使用方法| 亚洲精品在线观看网站| 一区二区三区在线观看国产| 国产精一品亚洲二区在线视频| 欧美日韩在线直播| 国产精品丝袜久久久久久app| 日本成人超碰在线观看| 一本大道久久精品懂色aⅴ| 国产亚洲欧美色| 三级欧美韩日大片在线看| 色综合中文字幕国产 | 日韩一区二区三区四区五区六区 | 宅男噜噜噜66一区二区66| 国产精品日韩成人| 国产在线麻豆精品观看| 欧美一级欧美三级| 亚洲高清三级视频| 97精品视频在线观看自产线路二| 国产精品污www在线观看| 久久99国产精品免费网站| 制服丝袜日韩国产| 亚洲成人综合视频| 欧美综合天天夜夜久久| 国产精品高潮呻吟久久| 狠狠色丁香九九婷婷综合五月| 日韩一区二区免费高清| 亚洲一区二区高清| 91国在线观看| 亚洲一二三区不卡| 欧美日韩亚洲综合一区| 亚洲第一久久影院| 欧美日本一区二区在线观看| 日韩不卡一区二区| 欧美日韩和欧美的一区二区| 日韩电影网1区2区| 日韩一区二区三区av| 精品一二三四区| 国产欧美精品在线观看| aaa亚洲精品| 亚洲午夜一区二区三区| 欧美丰满高潮xxxx喷水动漫| 久久99国产精品久久99| 久久久久久久网| 成人国产精品免费观看| 亚洲精品成人精品456| 欧洲一区二区三区在线| 日韩国产一二三区| 欧美r级在线观看| 成人av免费在线观看| 亚洲欧美日韩系列| 欧美日韩成人一区二区| 狂野欧美性猛交blacked| 久久精品无码一区二区三区| 97久久精品人人澡人人爽| 午夜不卡在线视频| 久久先锋影音av| 日本乱人伦一区| 男女视频一区二区| 国产欧美一区二区精品仙草咪| 91美女片黄在线观看91美女| 日韩avvvv在线播放| 国产亚洲欧美一区在线观看| 欧美吻胸吃奶大尺度电影| 久久黄色级2电影| 亚洲黄色免费电影| 欧美电影免费观看高清完整版在线| 成人免费av网站| 日韩成人精品在线| 欧美高清一级片在线观看| 欧美日韩国产影片| 99久久99精品久久久久久| 日本v片在线高清不卡在线观看| 国产精品国产三级国产有无不卡 | 极品少妇xxxx精品少妇| 亚洲另类春色国产| 国产视频不卡一区| 欧美日本在线看| 欧美日韩午夜影院| 国产成人在线视频网站| 日韩va亚洲va欧美va久久| 亚洲欧洲成人精品av97| 日韩欧美高清dvd碟片| 日本道精品一区二区三区| 国产成人综合网| 日本亚洲电影天堂| 一区二区三区不卡在线观看| 中文字幕欧美激情一区| 欧美草草影院在线视频| 欧美日韩国产区一| 一本色道久久综合狠狠躁的推荐| 成人午夜在线播放| 狠狠色狠狠色综合| 美女尤物国产一区| 日韩精品免费专区| 亚洲夂夂婷婷色拍ww47| 亚洲激情成人在线| 国产精品国产三级国产普通话99 | 欧美日韩mp4| 欧美优质美女网站| 94色蜜桃网一区二区三区| 成人综合在线观看| 国产精品一区二区久激情瑜伽| 美女视频网站黄色亚洲| 男男成人高潮片免费网站| 视频一区视频二区中文| 亚洲va欧美va天堂v国产综合| 一区二区三区鲁丝不卡| 亚洲精品日日夜夜| 一个色妞综合视频在线观看| 一区二区三区四区蜜桃 | 午夜伊人狠狠久久| 亚洲成人在线网站| 亚洲国产cao| 蜜桃av一区二区在线观看| 蜜桃久久精品一区二区| 国产一区二区视频在线| 国产成人精品www牛牛影视| 成人听书哪个软件好| 白白色 亚洲乱淫| 欧美性淫爽ww久久久久无| 欧美视频一区二区三区| 日韩一区二区不卡| 国产丝袜欧美中文另类| 国产精品女同互慰在线看| 亚洲精品中文在线| 午夜激情久久久| 国产精品一色哟哟哟| 99精品黄色片免费大全| 欧美日韩aaaaaa| 久久久久久久久久看片| 亚洲欧洲日韩av| 日韩黄色免费电影| 国产乱码一区二区三区| 91美女精品福利| 日韩一区二区在线观看| 亚洲国产精品99久久久久久久久| 亚洲制服丝袜av| 国产精品综合在线视频| 欧美色网一区二区| 久久亚洲综合色一区二区三区| 亚洲欧美偷拍三级| 午夜欧美电影在线观看| 精品在线免费视频| 色综合久久88色综合天天| 日韩欧美精品三级| 亚洲精品乱码久久久久久久久 | 亚洲福中文字幕伊人影院|