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

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

?? rs485_2dlg.cpp

?? 一個串口通訊的例子,適合初學者,歡迎大家提寶貴意見!
?? CPP
字號:
// rs485_2Dlg.cpp : 實現文件
//

#include "stdafx.h"
#include "rs485_2.h"
#include "rs485_2Dlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 用于應用程序“關于”菜單項的 CAboutDlg 對話框

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// 對話框數據
	enum { IDD = IDD_ABOUTBOX };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

// 實現
protected:
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()


// Crs485_2Dlg 對話框



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

void Crs485_2Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_EDIT1, m_disp);
}

BEGIN_MESSAGE_MAP(Crs485_2Dlg, CDialog)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDC_send, OnBnClickedsend)
	ON_BN_CLICKED(IDC_receive, OnBnClickedreceive)
	ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
	ON_WM_CLOSE()
END_MESSAGE_MAP()


// Crs485_2Dlg 消息處理程序

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

	// 將\“關于...\”菜單項添加到系統菜單中。

	// IDM_ABOUTBOX 必須在系統命令范圍內。
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

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

	// TODO:在此添加額外的初始化代碼
	hCom=CreateFile("COM1",//COM1口
		GENERIC_READ|GENERIC_WRITE, //允許讀和寫
		0, //獨占方式
		NULL,
		OPEN_EXISTING, //打開而不是創建
		FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重疊方式
		NULL);
	if(hCom==(HANDLE)-1)
	{
		AfxMessageBox("打開COM失敗!");
		return FALSE;
	}

	SetupComm(hCom,100,100); //輸入緩沖區和輸出緩沖區的大小都是100

	COMMTIMEOUTS TimeOuts;
	//設定讀超時
	TimeOuts.ReadIntervalTimeout=MAXDWORD;
	TimeOuts.ReadTotalTimeoutMultiplier=0;
	TimeOuts.ReadTotalTimeoutConstant=0;
	//在讀一次輸入緩沖區的內容后讀操作就立即返回,
	//而不管是否讀入了要求的字符。


	//設定寫超時
	TimeOuts.WriteTotalTimeoutMultiplier=100;
	TimeOuts.WriteTotalTimeoutConstant=500;
	SetCommTimeouts(hCom,&TimeOuts); //設置超時

	DCB dcb;
	GetCommState(hCom,&dcb);
	dcb.BaudRate=19200; //波特率為9600
	dcb.ByteSize=8; //每個字節有8位
	dcb.Parity=NOPARITY; //無奇偶校驗位
	dcb.StopBits=TWOSTOPBITS; //兩個停止位
	SetCommState(hCom,&dcb);

	PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR);

	return TRUE;  // 除非設置了控件的焦點,否則返回 TRUE
}

void Crs485_2Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// 如果向對話框添加最小化按鈕,則需要下面的代碼
//  來繪制該圖標。對于使用文檔/視圖模型的 MFC 應用程序,
//  這將由框架自動完成。

void Crs485_2Dlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 用于繪制的設備上下文

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

		// 使圖標在工作矩形中居中
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// 繪制圖標
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

//當用戶拖動最小化窗口時系統調用此函數取得光標顯示。
HCURSOR Crs485_2Dlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

void Crs485_2Dlg::OnBnClickedsend()
{
	// TODO: 在此添加控件通知處理程序代碼
	OVERLAPPED m_osWrite;
	memset(&m_osWrite,0,sizeof(OVERLAPPED));
	m_osWrite.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);


	char lpOutBuffer[7];
	memset(lpOutBuffer,'\0',7);
	lpOutBuffer[0]='\x11';
	lpOutBuffer[1]='0';
	lpOutBuffer[2]='0';
	lpOutBuffer[3]='1';
	lpOutBuffer[4]='0';
	lpOutBuffer[5]='1';
	lpOutBuffer[6]='\x03';
	
	DWORD dwBytesWrite=7;
	COMSTAT ComStat;
	DWORD dwErrorFlags;
	BOOL bWriteStat;
	ClearCommError(hCom,&dwErrorFlags,&ComStat);
	bWriteStat=WriteFile(hCom,lpOutBuffer,
		dwBytesWrite,& dwBytesWrite,&m_osWrite);

	if(!bWriteStat)
	{
		if(GetLastError()==ERROR_IO_PENDING)
		{
			WaitForSingleObject(m_osWrite.hEvent,1000);
		}
	}

}

void Crs485_2Dlg::OnBnClickedreceive()
{
	// TODO: 在此添加控件通知處理程序代碼
	OVERLAPPED m_osRead;
	memset(&m_osRead,0,sizeof(OVERLAPPED));
	m_osRead.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);

	COMSTAT ComStat;
	DWORD dwErrorFlags;
	
	char str[100];
	memset(str,'\0',100);
	DWORD dwBytesRead=100;//讀取的字節數
	BOOL bReadStat;

	ClearCommError(hCom,&dwErrorFlags,&ComStat);
	dwBytesRead=min(dwBytesRead, (DWORD)ComStat.cbInQue);
	bReadStat=ReadFile(hCom,str,
		dwBytesRead,&dwBytesRead,&m_osRead);
	if(!bReadStat)
	{
		if(GetLastError()==ERROR_IO_PENDING)
	    //GetLastError()函數返回ERROR_IO_PENDING,表明串口正在進行讀操作
		{
			WaitForSingleObject(m_osRead.hEvent,2000);
		    //使用WaitForSingleObject函數等待,直到讀操作完成或延時已達到2秒鐘
		    //當串口讀操作進行完畢后,m_osRead的hEvent事件會變為有信號
		}
	}

	PurgeComm(hCom, PURGE_TXABORT|
		PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);
	m_disp=str;
	UpdateData(FALSE);

}

void Crs485_2Dlg::OnBnClickedCancel()
{
	// TODO: 在此添加控件通知處理程序代碼
	
	OnCancel();
}

void Crs485_2Dlg::OnClose()
{
	// TODO: 在此添加消息處理程序代碼和/或調用默認值
	CloseHandle(hCom);
	CDialog::OnClose();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩影院免费视频| 久久久国际精品| 中文字幕中文字幕一区| 日韩成人午夜精品| 欧美色图片你懂的| 一区二区三区在线免费视频| 久久精品国产精品青草| 91麻豆精品国产91久久久久久| 1000精品久久久久久久久| 久久精品国产77777蜜臀| 91精品国产麻豆| 日本aⅴ免费视频一区二区三区| 欧美在线999| 亚洲成人一二三| 717成人午夜免费福利电影| 亚洲精品一卡二卡| 在线观看欧美精品| 亚洲gay无套男同| 欧美日韩不卡一区| 老司机一区二区| 欧美日韩aaa| 午夜精品久久久久久| 欧美美女bb生活片| 久久av资源网| 日本一二三不卡| 91网站最新地址| 亚洲午夜精品一区二区三区他趣| 欧美伦理电影网| 极品销魂美女一区二区三区| 国产日韩欧美精品一区| 色视频成人在线观看免| 亚洲国产你懂的| 91麻豆精品国产91久久久久久| 九一九一国产精品| 中文字幕一区二区三区四区| 在线免费精品视频| 久久激情五月激情| 中文字幕日本乱码精品影院| 欧美中文一区二区三区| 日本一不卡视频| 国产欧美一区二区精品性色超碰| 91麻豆精东视频| 一级中文字幕一区二区| 日韩免费高清视频| 99国内精品久久| 日韩精品电影在线| 国产日产亚洲精品系列| 欧美日韩专区在线| 国产精品一级二级三级| 一区二区三区在线影院| 欧美成人video| 91免费看片在线观看| 久久99国产精品免费| 亚洲伦理在线免费看| 日韩一二在线观看| 成a人片亚洲日本久久| 日韩中文字幕区一区有砖一区| 久久久国产精品午夜一区ai换脸| 欧洲精品一区二区| 国产大陆a不卡| 日本在线不卡一区| 亚洲人成网站在线| 国产视频亚洲色图| 日韩欧美在线综合网| 99在线精品免费| 国产精品乡下勾搭老头1| 亚洲高清在线视频| 中文字幕日韩av资源站| 2021国产精品久久精品| 欧美少妇bbb| 国产美女视频91| 美女性感视频久久| 亚洲第四色夜色| 亚洲少妇最新在线视频| 国产欧美一区二区三区网站| 欧美一级专区免费大片| 欧美色倩网站大全免费| fc2成人免费人成在线观看播放| 久久丁香综合五月国产三级网站| 丝袜诱惑制服诱惑色一区在线观看| 国产精品你懂的| 日韩一区二区免费电影| 欧美日韩国产精品成人| 91黄色免费版| 91久久久免费一区二区| 99国产精品久久久久久久久久 | www激情久久| 欧美日韩你懂的| 99久久精品免费看| 成人18视频日本| 成人午夜免费视频| av色综合久久天堂av综合| 粉嫩av亚洲一区二区图片| 国产suv精品一区二区6| 亚洲aⅴ怡春院| 亚洲成人午夜影院| 视频一区二区三区入口| 亚洲午夜精品17c| 日本伊人色综合网| 亚洲大片精品永久免费| 亚洲欧美国产毛片在线| 亚洲免费成人av| 亚洲成av人在线观看| 亚洲成人av一区二区| 亚瑟在线精品视频| 日韩影视精彩在线| 男人操女人的视频在线观看欧美| 捆绑变态av一区二区三区| 麻豆国产精品视频| 美女久久久精品| 国产精品自产自拍| av不卡在线播放| 在线亚洲高清视频| 欧美伦理视频网站| www成人在线观看| 中文字幕在线视频一区| 亚洲综合免费观看高清完整版在线 | 91丨九色丨黑人外教| 国产精品一区久久久久| 国产suv一区二区三区88区| 91免费精品国自产拍在线不卡| 91黄色免费观看| 欧美tickling网站挠脚心| 1区2区3区欧美| 国产精品美女久久久久久久久久久| 亚洲婷婷综合色高清在线| 麻豆精品新av中文字幕| 国产一区久久久| 99国产欧美另类久久久精品 | 欧美猛男gaygay网站| caoporn国产精品| 99久久伊人网影院| 欧美亚洲综合另类| 精品国产精品网麻豆系列| **欧美大码日韩| 亚洲综合免费观看高清完整版在线 | 国产一区二三区| 欧美日韩在线观看一区二区 | 亚洲丝袜自拍清纯另类| 视频一区在线视频| 美腿丝袜亚洲综合| 亚洲一区二区在线视频| 国产乱码精品一品二品| 在线观看91精品国产麻豆| 亚洲码国产岛国毛片在线| 国产精品综合二区| 欧美成人综合网站| 亚洲18影院在线观看| 91麻豆免费观看| 国产欧美视频一区二区三区| 日本亚洲天堂网| 欧美高清精品3d| 亚洲福利一区二区三区| 色综合欧美在线| **网站欧美大片在线观看| 国产精品中文字幕欧美| 久久午夜色播影院免费高清 | 水蜜桃久久夜色精品一区的特点| 色综合久久久久| 日韩美女视频一区二区| 成人综合在线视频| 久久精品夜色噜噜亚洲aⅴ| 久久国产尿小便嘘嘘| 欧美一区二区三区在| 奇米888四色在线精品| 3atv一区二区三区| 五月天激情综合| 欧美一区二区在线观看| 日韩电影网1区2区| 日韩欧美一卡二卡| 国内精品国产三级国产a久久| 精品国产免费视频| 国产又粗又猛又爽又黄91精品| 精品乱人伦一区二区三区| 国产综合色在线| 国产丝袜欧美中文另类| 成人精品一区二区三区中文字幕| 国产suv精品一区二区6| 综合激情成人伊人| 亚洲国产综合在线| 国产欧美日韩中文久久| 色婷婷av一区二区三区gif| 国产酒店精品激情| 天天影视涩香欲综合网| 亚洲综合精品自拍| 亚洲黄色小说网站| 精品剧情在线观看| 7777精品伊人久久久大香线蕉经典版下载| 成人午夜免费视频| 精品一区二区av| 日本韩国一区二区三区| 日韩欧美你懂的| 亚洲一区二区欧美| 欧美一区中文字幕| 国产91精品一区二区麻豆网站| 中文字幕日韩一区二区| 欧美精品一级二级| 国产一本一道久久香蕉| 亚洲免费观看高清| 欧美va亚洲va香蕉在线|