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

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

?? abcommsprocessor.cpp

?? 用于開發(fā)Modbus工業(yè)級通信
?? CPP
字號:
/////////////////////////////////////////////////////////////////////////////
//
// FILE: MODCommsProcessor.cpp : implementation file
//
// See "_README.CPP"
//                    
// implementation of the CMODCommsProcessor class.
//
/////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "mod_rssimDlg.h"
#include "message.h"
#include "abCommsProcessor.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif


IMPLEMENT_DYNAMIC( CCommsProcessor, SimulationSerialPort);


CCommsProcessor::CCommsProcessor(LPCTSTR    portNameShort, 
                     DWORD    baud, 
                     DWORD    byteSize, 
                     DWORD    parity, 
                     DWORD    stopBits,
                     DWORD    rts,
                     int      responseDelay)
{
   InitializeCriticalSection(&stateCS);
   
}

CCommsProcessor::~CCommsProcessor()
{

}





// ------------------------------- ActivateStation ---------------------------
void CCommsProcessor::ActivateStation(LONG stationID)
{
   if (stationID>0 && stationID<STATIONTICKBOXESMAX)
   {
      //start the counter for this station at the beginning
      pGlobalDialog->m_microTicksCountDown[stationID] = pGlobalDialog->GetAnimationOnPeriod();
      // it will count down untill it extinguishes
   }
} // ActivateStation

// ------------------------------- StationIsActivated ---------------------------
// Return TRUE if station is enabled
BOOL CCommsProcessor::StationIsActivated(LONG stationID)
{
   return (pGlobalDialog->StationEnabled(stationID));
} // StationIsActivated

// ------------------------------ RSDataDebugger ------------------------------
void CCommsProcessor::RSDataDebugger(const BYTE * buffer, LONG length, int transmit)
{
CString debuggerString;
BYTE *data;
byte hiNib,loNib;

   //convert BIN-ary to ASCII for display
   data = new BYTE[(length*2)+1];
   for (int i = 0; i < length; i++)
   {
       hiNib = ( *(buffer+i) >>4) & 0x0f;
       loNib = ( *(buffer+i)    ) & 0x0f;
       data[(i*2)]   = ( (hiNib < 0x0A) ? ('0' + hiNib) : ('A' + hiNib-10) );
       data[(i*2)+1] = ( (loNib < 0x0A) ? ('0' + loNib) : ('A' + loNib-10) );
   }

   data[(length*2)] = '\0';

   if (transmit)
   {
      //if (length)
      //   pGlobalDialog->CharactersSent();
      debuggerString.Format("TX:%s\n", data);
   }
   else
   {
      //if (length)
      //   pGlobalDialog->CharactersReceived();
         debuggerString.Format("RX:%s\n", data);
   }
   // Send to debugger list-box
   if (length)
      pGlobalDialog->AddCommsDebugString(debuggerString);

#ifdef _COMMS_DEBUGGING
   if (length)
      OutputDebugString(debuggerString);
#endif

   delete (data);
} // RSDataDebugger

// ------------------------------- RSStateChanged -----------------------
void CCommsProcessor::RSStateChanged(DWORD state)
{
   EnterCriticalSection(&stateCS);
   pGlobalDialog->m_ServerRSState = state;
   LeaveCriticalSection(&stateCS);
} // RSStateChanged


/////////////////////////////////////////////////////////////////////
//
// class CAB232CommsProcessor
//
IMPLEMENT_DYNAMIC( CAB232CommsProcessor, CPLCApplication);

CAB232CommsProcessor::CAB232CommsProcessor(LPCTSTR portNameShort, 
                                     DWORD  baud, 
                                     DWORD byteSize, 
                                     DWORD parity, 
                                     DWORD stopBits,
                                     DWORD rts,
                                     int   responseDelay,
                                     BOOL  MOSCADchecks,
                                     BOOL modifyThenRespond,
                                     BOOL disableWrites,
									          BOOL bcc,
                                     DWORD masterIdleTime,
                                     DWORD timeoutValue) : CPLCApplication( portNameShort, 
                                                                            baud, 
                                                                            byteSize, 
                                                                            parity, 
                                                                            stopBits,
                                                                            rts,
                                                                            responseDelay,
                                                                            MOSCADchecks,
                                                                            modifyThenRespond,
                                                                            disableWrites,
														                    					bcc)
{
   InitializeCriticalSection(&stateCS);

   m_responseDelay = responseDelay;
   m_ABmasterIDLETime = masterIdleTime;
   m_ABtimeoutValue = timeoutValue;
   SetEmulationParameters(MOSCADchecks, modifyThenRespond, disableWrites);
   m_pWorkerThread->ResumeThread(); //start thread off here

}


// ---------------------------------- Send --------------------------------
// PURPOSE: This one should be clear
//    Also does DLE expansion.
LONG CABCommsProcessor::Send(int numberOfBytestoWrite, 
                            const BYTE* bufferPtr,
                            BOOL insertDLEs, 
                            CHAR* debugStrPtr)
{
DWORD numberOfBytesWritten=0;
      // pointer to buffer to write out on the wire
BYTE* pBuffer = (BYTE*)bufferPtr;
int dleCount=0;
BOOL retValue;

   ASSERT (numberOfBytestoWrite>0);
   if (!keepPolling)
      return FALSE;
   

   // insert DLE's as needed
   if (insertDLEs)
   {
   BYTE *pSource = (BYTE*)bufferPtr, *pDest;
   int count = numberOfBytestoWrite;

      // allocate a new buffer instead
      pBuffer = new byte[numberOfBytestoWrite*2];
      //
      pDest = pBuffer;
      //
      while (count>0)
      {
         if (*pSource == 0x10)
         {
            *pDest++=0x10;       // insert DLE
            dleCount++;

         }
         *pDest++ = *pSource++;
         count--;
      }
      // # of bytes on the wire will increase accordingly
      numberOfBytestoWrite += dleCount;
   }
   retValue = CCommsProcessor::Send(numberOfBytestoWrite, pBuffer, debugStrPtr);
   
   // free up the DLE expanded buffer if one was allocated
   if (insertDLEs)
      delete pBuffer;

   return(retValue);
} // Send

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频一区在线观看| 最新中文字幕一区二区三区| 亚洲大片精品永久免费| 91天堂素人约啪| 玉足女爽爽91| 5858s免费视频成人| 麻豆91在线观看| 久久久国产精品麻豆| 成人性生交大合| 亚洲三级电影网站| 欧美私人免费视频| 伦理电影国产精品| 国产偷国产偷亚洲高清人白洁| 国产风韵犹存在线视精品| 亚洲欧洲av在线| 欧美日韩一区二区三区高清| 蜜桃一区二区三区四区| 国产视频视频一区| 国产在线精品免费| 国产精品网曝门| 一本大道久久精品懂色aⅴ| 亚洲伦在线观看| 欧美日本一区二区三区| 国产一区二区三区在线观看精品 | 丁香五精品蜜臀久久久久99网站| 亚洲欧美一区二区在线观看| 欧美日韩精品一区二区| 久久精品久久综合| 国产曰批免费观看久久久| 国产偷国产偷精品高清尤物| 欧美亚洲一区二区在线| 黑人精品欧美一区二区蜜桃| 亚洲欧美福利一区二区| 欧美精品久久99久久在免费线 | 日本aⅴ亚洲精品中文乱码| 久久久久久一级片| 日本韩国欧美在线| 黑人巨大精品欧美黑白配亚洲| 一区二区三区日韩| 久久亚洲精品国产精品紫薇| 欧美精品丝袜久久久中文字幕| 国产成a人亚洲| 日本麻豆一区二区三区视频| 亚洲欧洲精品一区二区三区不卡| 日韩欧美黄色影院| 欧美性猛交xxxx乱大交退制版| 成人国产精品免费观看视频| 老色鬼精品视频在线观看播放| 亚洲乱码中文字幕| 中文字幕乱码久久午夜不卡 | 国产乱子轮精品视频| 亚洲成人1区2区| 日韩伦理电影网| 2017欧美狠狠色| 日韩欧美激情在线| 777亚洲妇女| 欧美性猛交xxxxxx富婆| 亚洲精品在线免费观看视频| 欧美日韩一区在线观看| 91在线你懂得| 成人h版在线观看| 国产福利一区二区三区视频| 麻豆成人免费电影| 日韩国产精品久久| 亚洲国产一区二区视频| 亚洲色图一区二区三区| 中文字幕一区二区三中文字幕| 2021中文字幕一区亚洲| 欧美v日韩v国产v| 欧美成人bangbros| 日韩欧美一级在线播放| 777xxx欧美| 91精品国产aⅴ一区二区| 欧美精品电影在线播放| 欧美精品自拍偷拍| 在线播放91灌醉迷j高跟美女| 欧美性xxxxxxxx| 欧美三级日韩在线| 欧美精品免费视频| 777奇米四色成人影色区| 欧美一区二区免费观在线| 欧美一区二区日韩| 欧美大片拔萝卜| 久久久电影一区二区三区| 国产精品久久久久三级| 久久久久久久久99精品| 久久精品人人做人人综合| 久久蜜桃香蕉精品一区二区三区| 久久综合九色综合欧美98| 精品国产精品网麻豆系列| 欧美精品一区二区不卡| 久久精品亚洲精品国产欧美kt∨| 欧美极品xxx| 亚洲日本中文字幕区| 亚洲成人资源网| 蜜桃久久久久久久| 国产福利一区二区三区在线视频| 粉嫩嫩av羞羞动漫久久久| 91视频.com| 777午夜精品免费视频| 久久综合久久久久88| 国产日韩欧美在线一区| 亚洲另类春色国产| 男人的天堂亚洲一区| 国产精品99久久久久久久vr| 91在线国内视频| 欧美日韩一区二区不卡| 精品福利视频一区二区三区| 国产精品国产三级国产aⅴ入口 | 在线国产电影不卡| 日韩视频一区二区| 国产精品你懂的| 亚洲二区视频在线| 国产乱子伦一区二区三区国色天香| 91在线视频18| 欧美电视剧免费观看| 亚洲欧洲成人精品av97| 男女男精品视频| 99久久精品国产毛片| 欧美疯狂做受xxxx富婆| 欧美国产综合色视频| 亚洲成人激情自拍| 高清成人免费视频| 欧美一区二区三区四区在线观看| 国产视频视频一区| 美国一区二区三区在线播放| 91日韩精品一区| 久久久久久久综合色一本| 亚洲aaa精品| 不卡影院免费观看| 欧美大白屁股肥臀xxxxxx| 亚洲欧美国产三级| 风流少妇一区二区| 精品日韩一区二区三区免费视频| 一二三四社区欧美黄| 国产精品 日产精品 欧美精品| 精品视频一区三区九区| 国产精品日韩精品欧美在线| 久久精品久久综合| 欧美日韩亚洲综合一区| 综合久久久久久| 国产激情偷乱视频一区二区三区| 3d动漫精品啪啪1区2区免费| 夜夜揉揉日日人人青青一国产精品 | 一区二区三区欧美久久| 亚洲精品伦理在线| 成人av网站免费| 国产成人精品三级麻豆| 欧美精品久久99久久在免费线| 亚洲人吸女人奶水| 成人一区二区视频| 日韩专区中文字幕一区二区| 91蜜桃免费观看视频| 国产午夜三级一区二区三| 国产一区二区在线视频| 精品剧情v国产在线观看在线| 日韩经典一区二区| 欧美精品免费视频| 日韩成人免费看| 91精品国产综合久久国产大片| 天堂影院一区二区| 欧美日韩和欧美的一区二区| 亚洲精品国久久99热| 91色乱码一区二区三区| 亚洲精品中文在线影院| 色婷婷综合久久久久中文一区二区 | 国产欧美一区二区在线| 国产成人免费视| 国产精品嫩草影院com| 粉嫩欧美一区二区三区高清影视 | 亚洲伦理在线免费看| 色综合一个色综合亚洲| 亚洲男人天堂一区| 色婷婷国产精品| 亚洲va国产天堂va久久en| 欧美日韩大陆在线| 日韩国产高清在线| www日韩大片| 国产成人自拍高清视频在线免费播放| 国产亚洲婷婷免费| av中文字幕一区| 一区二区三区加勒比av| 欧美视频在线播放| 蜜臀av一区二区在线观看| 2023国产精品| 99精品久久久久久| 亚洲综合一区二区精品导航| 欧美裸体一区二区三区| 精品在线观看免费| 国产精品免费视频观看| 欧美在线视频全部完| 久久成人av少妇免费| 亚洲国产高清在线| 欧美午夜精品理论片a级按摩| 欧美日韩国产综合久久| 免费在线看一区| 国产拍揄自揄精品视频麻豆| 色综合视频一区二区三区高清| 午夜精品久久久久影视| 久久久另类综合|