91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 31.9MB
    文件類(lèi)型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-06-30
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: VS2010??C++??MFC??thread??COM??

資源簡(jiǎn)介

這是本人畢業(yè)設(shè)計(jì)的一部分,可以直接編譯使用。在虛擬機(jī)下實(shí)現(xiàn)兩個(gè)COM端口的數(shù)據(jù)傳輸, 首先開(kāi)啟虛擬機(jī),然后將兩個(gè)的串口端COM1和COM2連接起來(lái),設(shè)置對(duì)兩個(gè)對(duì)話框的串口端口分別為COM1和COM2,將波特率,數(shù)據(jù)位,停止位,校驗(yàn)位設(shè)置相同參數(shù)。接下里打開(kāi)串口,如果串口打開(kāi)失敗會(huì)有提示設(shè)置串口屬性失敗,本次測(cè)試時(shí),打開(kāi)串口之后虛擬機(jī)中可以清楚的看到COM1和COM2發(fā)生了變化,后面多了波特率,數(shù)據(jù)位,校驗(yàn)位和停止位,這也是串口開(kāi)啟成功的標(biāo)志. 并且打開(kāi)串口按鈕自動(dòng)變?yōu)榱岁P(guān)閉串口,表示串口打開(kāi)成功。隨后在發(fā)送框中寫(xiě)入要發(fā)送的數(shù)據(jù),點(diǎn)擊發(fā)送消息按鈕即可將數(shù)據(jù)從一個(gè)對(duì)話框發(fā)送到另一個(gè)對(duì)話框。這樣就完成了在虛擬機(jī)串口虛擬成功的條件下,檢測(cè)串口通信的測(cè)試。

資源截圖

代碼片段和文件信息

#include?“StdAfx.h“
#include?“SerialPort.h“???
#include“Thread.h“

CSerialPort::CSerialPort(void)
{
m_hComm?=?NULL;????//窗口句柄的初始化
}

CSerialPort::~CSerialPort(void)
{
CloseComm();?????//釋放
}
void?CSerialPort::StartComm()???//打開(kāi)線程
{
m_threadComm.SetThreadData((DWORD)this);??//設(shè)計(jì)數(shù)據(jù)開(kāi)啟
m_threadComm.Start();
}

BOOL?CSerialPort::OpenComm(CString?strComm)???

{
if(NULL?==m_hComm?)??//首先判斷串口是不是NULL
{
m_hComm?=CreateFile((TCHAR*)(LPCTSTR)strCommGENERIC_READ|GENERIC_WRITE
0NULLOPEN_EXISTINGFILE_ATTRIBUTE_NORMAL?|FILE_FLAG_OVERLAPPEDNULL);
?????//指定哪一個(gè)串口???可以讀?可以寫(xiě)(訪問(wèn)模式)?共享模式為0(不能共享)??創(chuàng)建方式?文件重疊屬性???0
if(INVALID_HANDLE_VALUE?==?m_hComm)??//判斷窗口句柄無(wú)效?
{
????int?nError?=?GetLastError();?????//若不存在?返回錯(cuò)誤類(lèi)型
m_hComm?=?NULL;???????
????return???FALSE;
}
?????????return?TRUE;??//創(chuàng)建文件??打開(kāi)成功
?}
?return?FALSE;???//?打開(kāi)失敗?????////////////////////////////////////////////////////////////////////////////////
}
BOOL?CSerialPort::SetCommState(DWORD?dwBaudrateBYTE?byParity?BYTE?byByteSizeBYTE?byStopBits)
{
if(m_hComm?==?NULL)?return?FALSE;
DCB?dcb;???????????
BOOL?bRet?=?::GetCommState(m_hComm&dcb);????//返回關(guān)于串口的所有屬性
if(!bRet)??????????????//返回值是否正確
{???if(m_hComm)?????????//是否已經(jīng)打開(kāi)了
???{
?CloseHandle(m_hComm);
?m_hComm?=?NULL;??????//然后釋放掉
????}
????return?FALSE;??
}?
dcb.BaudRate?=?dwBaudrate;????
dcb.ByteSize?=?byByteSize;
dcb.Parity???=??byParity;
dcb.StopBits?=?byStopBits;
bRet?=::SetCommState(m_hComm&dcb);???//設(shè)置串口的dcb塊???////問(wèn)題可能出在這里??設(shè)置了的DCB的塊
if(!bRet)???????????????????//屬性設(shè)置是否失敗
{
if(m_hComm)
{
CloseHandle(m_hComm);
m_hComm?=NULL;
}
return?FALSE;?????????//返回去執(zhí)行
}
return?TRUE;??????????????//設(shè)置串口屬性成功的
}

BOOL?CSerialPort::SetupComm(DWORD?dwInqueueDWORD?dwQutQueue)?????
{
if(m_hComm?==?NULL)?return?FALSE;??????//判斷串口是否存在
return?::SetupComm(m_hCommdwInqueuedwQutQueue);???
}
BOOL?CSerialPort::PurgeComm(DWORD?dwFlags)
{
if(m_hComm?==?NULL)?return?FALSE;
return?::PurgeComm(m_hCommdwFlags);????//清除函數(shù)標(biāo)志位
}

BOOL?CSerialPort::SetCommMask(DWORD?dwEvtMask)
{
if(m_hComm?==?NULL)?return?FALSE;
return?::SetCommMask(m_hCommdwEvtMask);???//設(shè)置事件類(lèi)型
}



BOOL?CSerialPort::WriteFile(IN?LPCVOID?lpBufferIN?DWORD?nNumberOfBytesToWriteOUT?LPDWORD?lpNumberOfBytesWrittenIN?LPOVERLAPPED?lpOverlapped)
{???
if(m_hComm?==?NULL)?return?FALSE;
return::WriteFile(m_hCommlpBuffernNumberOfBytesToWritelpNumberOfBytesWrittenlpOverlapped);
}

BOOL?CSerialPort::ReadFile(OUT?LPVOID?lpBufferIN?DWORD?nNumberOfBytesToReadOUT?LPDWORD?lpNumberOfBytesReadIN?LPOVERLAPPED?lpOverlapped?)
{
if(m_hComm?==?NULL)?return?FALSE;
return::ReadFile(m_hCommlpBuffernNumberOfBytesToReadlpNumberOfBytesReadlpOverlapped);
}

BOOL?CSerialPort::ClearCommError(OUT?LPDWORD?lpErrorsOUT?LPCOMSTAT?lpStat)
{
if(m_hComm?==?NULL)?return?FALSE;

return?::ClearCommError(m_hCommlpErrorslpStat);
}

BOOL?CSerialPort::GetOverlappedResult

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-20?17:28??基于VS2010MFC的上位機(jī)源程序\
?????目錄???????????0??2018-04-22?16:23??基于VS2010MFC的上位機(jī)源程序\Debug\
?????文件??????166912??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\Debug\WinDemo.exe
?????文件?????1079244??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\Debug\WinDemo.ilk
?????文件?????5655552??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\Debug\WinDemo.pdb
?????目錄???????????0??2018-08-20?17:25??基于VS2010MFC的上位機(jī)源程序\ipch\
?????目錄???????????0??2018-08-20?17:25??基于VS2010MFC的上位機(jī)源程序\ipch\windemo-23b32b7c\
?????目錄???????????0??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\
?????文件????58609664??2018-08-20?17:28??基于VS2010MFC的上位機(jī)源程序\WinDemo.sdf
?????文件?????????888??2018-04-20?14:34??基于VS2010MFC的上位機(jī)源程序\WinDemo.sln
?????文件???????23040??2018-08-20?17:28??基于VS2010MFC的上位機(jī)源程序\WinDemo.suo
?????目錄???????????0??2018-08-20?17:28??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\
?????文件????????8698??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\cl.command.1.tlog
?????文件??????112824??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\CL.read.1.tlog
?????文件????????8906??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\CL.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link-cvtres.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link-cvtres.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.23056-cvtres.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.23056-cvtres.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.23056.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.23056.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32032-cvtres.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32032-cvtres.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32032.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32032.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32712-cvtres.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32712-cvtres.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32712.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.32712.write.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.46972-cvtres.read.1.tlog
?????文件???????????2??2018-08-20?17:27??基于VS2010MFC的上位機(jī)源程序\WinDemo\Debug\link.46972-cvtres.write.1.tlog
............此處省略52個(gè)文件信息

評(píng)論

共有 條評(píng)論

相關(guān)資源