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

  • 大小: 137KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-12-17
  • 語言: C/C++
  • 標(biāo)簽: VS2010??RS232??C++??MFC??

資源簡介

用VS2010創(chuàng)建的MFC完整界面工程,具有完整的串口初始化和收發(fā)功能類,界面的初始化按鈕和查詢按鈕功能以及支持,其余功能研究者可以進(jìn)一步在類上擴(kuò)展。僅供學(xué)習(xí)用。本人親自開發(fā)的,請大家多提意見!

資源截圖

代碼片段和文件信息

#include?“StdAfx.h“
#include?“LYVRSerial.h“

/*
(1)該程序為串口通訊設(shè)備調(diào)試的初步測試程序,僅供學(xué)習(xí)研究C++程序之
范例,未經(jīng)作者書面同意,不得隨意用于商業(yè)用途。
(2)如果你在運(yùn)用于商業(yè)用途時明確標(biāo)識該段程序的代碼來源為“成都朗玉測控”
即可免費(fèi)使用,否則視為侵權(quán)。
(3)在用于商業(yè)及其它用途時,對任何損失及后果本作者不負(fù)任何責(zé)任!

成都朗玉測控,版權(quán)所有,2018年~2025年
權(quán)利人:甘亞東,聯(lián)系人:甘亞東,13981885178,qq:891219042
*/
//該型模塊的實(shí)例化數(shù)量累計,用于互斥量初始化。
int?sc_module_cnt?=?0;

CLYVRSerial::CLYVRSerial():
m_bInitOK(false)
{

m_hComm?=?INVALID_HANDLE_VALUE;

dwInQueue?=?COMM_INQUEUE_BUFLEN;?//輸入緩沖區(qū)字節(jié)數(shù)
dwOutQueue?=?COMM_OUTQUEUE_BUFLEN;?//輸出緩沖區(qū)字節(jié)數(shù)

m_dcb.BaudRate?=?57600;//波特率
????m_dcb.fBinary?=?TRUE;//是否允許傳二進(jìn)制
????m_dcb.fParity?=?FALSE;//是否奇偶校驗
????m_dcb.ByteSize?=?8;//數(shù)據(jù)位
????m_dcb.Parity?=?NOPARITY;//ODDPARITY;//奇偶校驗方式
????m_dcb.StopBits?=?ONESTOPBIT;//停止位

m_inLen?=?0;
m_outLen?=?0;

//只設(shè)置讀取的間隔超時,不設(shè)置讀取的總超時,因為其系數(shù)只能設(shè)定
//最小為1ms,會時間太長,也沒有意義。
//設(shè)定發(fā)送總超時,是為了防止萬一有什么故障。
memset(&m_timeOver?0?sizeof(m_timeOver));

//總超時?=?constant?+?multipilier?*?rcvNumber.
m_timeOver.ReadTotalTimeoutConstant?=?1;
m_timeOver.ReadTotalTimeoutMultiplier?=?1;

m_timeOver.ReadIntervalTimeout?=?1;//1ms,兩個字符間的最大延遲。
m_timeOver.WriteTotalTimeoutConstant?=?1;
m_timeOver.WriteTotalTimeoutMultiplier?=?1;

sc_module_cnt++;
TCHAR?temp[16];
wsprintf(temp?L“LYVRCONTROL_%02d“?sc_module_cnt);
m_rsMutex?=?CreateMutex(NULL?FALSE?temp);
}


CLYVRSerial::~CLYVRSerial(void)
{
Close();
}

//?在指定的串口號上打開SC73調(diào)理板。
//?返回0表示無異常,一切操作順利,否則返回非零的數(shù)表示錯誤號。
int?CLYVRSerial::Open(int?comPort)
{
if(m_hComm?!=?INVALID_HANDLE_VALUE)
return?COMM_ALREADY_OPEN;

m_Port?=?comPort;
int?err?=?InitCommPort();
if(err?!=?0)
return?err;

return?0;
}

//?關(guān)閉SC73調(diào)理板,釋放全部資源。
//?返回0表示無異常,一切操作順利,否則返回非零的數(shù)表示錯誤號。
int?CLYVRSerial::Close(void)
{
//丟棄通信資源的輸出或輸入緩沖區(qū)字符并終止在通信資源上掛起的讀、寫操操作
if(m_hComm?!=?INVALID_HANDLE_VALUE)
{
PurgeComm(?m_hComm?PURGE_TXABORT?|?PURGE_RXABORT?|?PURGE_TXCLEAR?|?PURGE_RXCLEAR?)?;
CloseHandle(?m_hComm?);
}
m_hComm?=?INVALID_HANDLE_VALUE;

return?0;
}

//?查詢SC73調(diào)理板,其應(yīng)返回一個確認(rèn)報文,表明其存在且正常。
//?返回1表示正常,0表示異常。其它數(shù)值表示執(zhí)行函數(shù)過程中發(fā)生錯誤。
int?CLYVRSerial::Touch(void)
{
if(m_hComm?==?INVALID_HANDLE_VALUE)
return?COMM_INVALID_HANDLE;
DWORD?dwWaitResult?=?WaitForSingleobject(?
m_rsMutex????//?handle?to?mutex
2000);??//1秒等待//?INFINITE:no?time-out?interval

if?(dwWaitResult?==?WAIT_object_0)?
{
//在接收/發(fā)送數(shù)據(jù)前緩沖區(qū)中可能有垃圾數(shù)據(jù)或者中途想清空緩沖區(qū)數(shù)據(jù).
PurgeComm(m_hComm?PURGE_TXABORT?|?PURGE_RXABORT?|?PURGE_TXCLEAR?|?PURGE_RXCLEAR?);

//組裝報文
int?i=0;
m_outBuf[i++]?=?0xA5;//主機(jī)命令標(biāo)識頭為固定值
m_outBuf[i++]?=?0x01;//數(shù)據(jù)的個數(shù),字節(jié)數(shù)
m_outBuf[i++]?=?0x00;//地址/分頁?兩個字節(jié)
m_outBuf[i++]?=?0x00;
m_outBuf[i++]?=?0x00;//命令:查詢
m_outBuf[i++]?=?0x01;//數(shù)據(jù):反射式詢問
m_outBuf[i]?=?CalcCheckSum(m_outBuf?i);
m_outLen?=?i+1;

//發(fā)送報文
int?nErr?=?0;
BYTE?nresult?=?0;
if((nErr?=?SendBuf())?!=?0)
{
nErr?=?COMM_SENDBUF_FAIL;
}
else
{

//接收報文
int?num?=?7;//期望收到的字符數(shù)。
if((nErr?=?RecvBuf(num))?!=?0)
nErr?=?COMM_RECVBUF_FAIL;

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????9787??2018-04-24?12:15??VRControlRS232\VRControlRS232\LYVRSerial.cpp

?????文件???????2139??2018-04-24?12:15??VRControlRS232\VRControlRS232\LYVRSerial.h

?????文件???????3146??2018-04-24?11:07??VRControlRS232\VRControlRS232\ReadMe.txt

?????文件??????67777??2018-04-24?12:19??VRControlRS232\VRControlRS232\res\VRControlRS232.ico

?????文件????????684??2018-04-24?11:07??VRControlRS232\VRControlRS232\res\VRControlRS232.rc2

?????文件???????2570??2018-04-24?11:33??VRControlRS232\VRControlRS232\resource.h

?????文件????????147??2018-04-24?11:07??VRControlRS232\VRControlRS232\stdafx.cpp

?????文件???????1632??2018-04-24?11:07??VRControlRS232\VRControlRS232\stdafx.h

?????文件????????234??2018-04-24?11:07??VRControlRS232\VRControlRS232\targetver.h

?????文件?????106904??2018-04-24?11:33??VRControlRS232\VRControlRS232\VRControlRS232.aps

?????文件???????2097??2018-04-24?11:07??VRControlRS232\VRControlRS232\VRControlRS232.cpp

?????文件????????879??2018-04-24?12:15??VRControlRS232\VRControlRS232\VRControlRS232.h

?????文件??????12336??2018-04-24?11:33??VRControlRS232\VRControlRS232\VRControlRS232.rc

?????文件???????6066??2018-04-24?11:19??VRControlRS232\VRControlRS232\VRControlRS232.vcxproj

?????文件???????2223??2018-04-24?11:19??VRControlRS232\VRControlRS232\VRControlRS232.vcxproj.filters

?????文件????????143??2018-04-24?11:07??VRControlRS232\VRControlRS232\VRControlRS232.vcxproj.user

?????文件???????6538??2018-04-24?12:15??VRControlRS232\VRControlRS232\VRControlRS232Dlg.cpp

?????文件???????1525??2018-04-24?12:15??VRControlRS232\VRControlRS232\VRControlRS232Dlg.h

?????文件????????909??2018-04-24?11:07??VRControlRS232\VRControlRS232.sln

????..A..H.?????14336??2018-04-24?12:22??VRControlRS232\VRControlRS232.suo

?????目錄??????????0??2018-04-24?12:23??VRControlRS232\VRControlRS232\Debug

?????目錄??????????0??2018-04-24?12:19??VRControlRS232\VRControlRS232\res

?????目錄??????????0??2018-04-24?12:24??VRControlRS232\Debug

?????目錄??????????0??2018-04-24?12:23??VRControlRS232\ipch

?????目錄??????????0??2018-04-24?11:33??VRControlRS232\VRControlRS232

?????目錄??????????0??2018-04-24?12:23??VRControlRS232

-----------?---------??----------?-----??----

???????????????242072????????????????????26


評論

共有 條評論