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

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

?? abcommsprocessor.cpp

?? modbus PLC 模擬程序
?? 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一区二区三区免费野_久草精品视频
亚洲1区2区3区视频| 中文av一区特黄| 日本欧美一区二区| 91麻豆精品国产91久久久久| 五月天中文字幕一区二区| 欧美一区二区三区的| 国产在线视频一区二区| 国产精品你懂的| 色婷婷av一区二区三区之一色屋| 亚洲一区中文日韩| 日韩一级片在线观看| 国产精品亚洲第一区在线暖暖韩国| 国产精品素人一区二区| 在线观看一区二区视频| 奇米色一区二区| 久久久精品一品道一区| www.亚洲人| 午夜欧美视频在线观看| 精品国产乱码久久| 色哟哟一区二区三区| 日本aⅴ免费视频一区二区三区 | 国产欧美日韩视频在线观看| 成人av电影免费观看| 亚洲午夜精品一区二区三区他趣| 日韩欧美综合在线| 99精品久久99久久久久| 日本aⅴ精品一区二区三区| 国产精品久久看| 欧美日韩国产成人在线91| 国产激情视频一区二区三区欧美 | 青青草视频一区| 国产亚洲精品久| 欧洲亚洲精品在线| 国产91精品在线观看| 日韩和欧美一区二区三区| 欧美高清在线一区二区| 91精品国产麻豆国产自产在线| 成人美女视频在线观看| 久久99久国产精品黄毛片色诱| 亚洲黄色av一区| 日本一区二区三级电影在线观看 | 日产国产欧美视频一区精品| 国产精品美女久久福利网站| 日韩写真欧美这视频| 99精品久久久久久| 国产成人欧美日韩在线电影 | 国内精品久久久久影院色| 亚洲午夜影视影院在线观看| 国产欧美久久久精品影院| 欧美一区二区三区在线看| 色综合久久99| 99热在这里有精品免费| 国产成人亚洲精品青草天美 | 国产毛片精品一区| 午夜电影网一区| 亚洲乱码国产乱码精品精的特点| 久久亚洲一区二区三区四区| 在线综合亚洲欧美在线视频| 在线亚洲一区观看| 成人高清视频在线观看| 国产呦精品一区二区三区网站| 亚洲成人精品影院| 亚洲美女电影在线| 国产精品福利在线播放| 亚洲国产精品99久久久久久久久 | 色综合咪咪久久| 国产精华液一区二区三区| 精品中文字幕一区二区| 日韩高清在线电影| 亚洲国产精品一区二区久久| 亚洲男人的天堂网| 洋洋成人永久网站入口| 亚洲国产经典视频| 国产精品久久久久久久久免费丝袜| 久久精品一区四区| 亚洲国产精品黑人久久久| 国产色产综合色产在线视频| 久久久久久久综合| 久久久影院官网| 国产蜜臀97一区二区三区| 国产精品视频免费看| 1024成人网色www| 一区二区三区蜜桃| 亚洲自拍偷拍麻豆| 亚洲五月六月丁香激情| 亚洲成va人在线观看| 日韩av一级片| 久久国产欧美日韩精品| 激情综合亚洲精品| 成人黄色在线视频| 色综合久久中文综合久久97| 在线欧美日韩精品| 6080午夜不卡| 久久九九影视网| 综合欧美亚洲日本| 亚洲成人免费电影| 麻豆精品一区二区av白丝在线| 久久精品国产精品亚洲综合| 国产乱子轮精品视频| 国产aⅴ综合色| 色综合激情久久| 宅男噜噜噜66一区二区66| 国产亚洲精品bt天堂精选| 国产精品二三区| 三级欧美在线一区| 国产一区二区免费视频| a亚洲天堂av| 欧美日韩一二区| 久久综合五月天婷婷伊人| 国产精品久久国产精麻豆99网站| 亚洲最大色网站| 精品一区二区三区日韩| 波多野结衣精品在线| 欧美理论电影在线| 国产清纯在线一区二区www| 亚洲综合成人在线| 国产不卡在线一区| 8v天堂国产在线一区二区| 欧美激情一区在线观看| 亚洲一二三级电影| 国产老妇另类xxxxx| 欧美日韩一级片在线观看| 国产色产综合产在线视频| 亚洲小说欧美激情另类| 国产精品2024| 91精品国产欧美一区二区| 国产精品传媒在线| 免费人成网站在线观看欧美高清| 大胆亚洲人体视频| 欧美一区二区视频免费观看| 亚洲四区在线观看| 国产精品一区二区三区四区| 欧美精三区欧美精三区 | 亚洲柠檬福利资源导航| 韩国v欧美v日本v亚洲v| 欧美日韩你懂得| 国产精品丝袜一区| 激情五月婷婷综合| 欧美精选在线播放| 亚洲人成电影网站色mp4| 国产成人亚洲综合a∨婷婷| 欧美一级午夜免费电影| 一区二区三区中文字幕电影| 成人永久aaa| 亚洲精品一区在线观看| 日日欢夜夜爽一区| 日本久久一区二区| 亚洲色图丝袜美腿| 国产成人在线视频网站| 精品国产一二三区| 麻豆久久久久久| 日韩一区二区免费视频| 亚洲h在线观看| 欧美视频精品在线| 亚洲国产精品视频| 色偷偷一区二区三区| ...xxx性欧美| 成人av中文字幕| 国产精品美日韩| 成人一区在线看| 国产女人18毛片水真多成人如厕| 国产精品亚洲成人| 久久久www免费人成精品| 国产精品99久久久久久有的能看 | 国产精品第一页第二页第三页| 国产精品乡下勾搭老头1| 久久久777精品电影网影网| 久久99精品久久久| 日韩欧美成人一区二区| 日本不卡高清视频| 精品久久久影院| 久久激五月天综合精品| 日韩欧美电影一区| 国产美女娇喘av呻吟久久| 国产日产亚洲精品系列| 国产99久久久国产精品潘金| 日本一区二区三区国色天香| 99视频在线精品| 亚洲国产精品一区二区久久恐怖片| 欧美日韩一区小说| 麻豆精品一二三| 日本一二三四高清不卡| 99国产欧美久久久精品| 一区二区免费看| 欧美一区二区三区性视频| 国产酒店精品激情| 亚洲欧美韩国综合色| 91激情五月电影| 麻豆精品视频在线观看免费| 国产欧美一区二区精品忘忧草| 粉嫩一区二区三区性色av| 亚洲欧美精品午睡沙发| 欧美一区二区三区啪啪| 国产麻豆欧美日韩一区| 亚洲乱码国产乱码精品精可以看| 欧美精品一二三| 国产.欧美.日韩| 亚洲免费在线观看| 日韩精品一区二区三区swag| 国产成人av影院|