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

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

?? serialport.h

?? 串口通信mfc源碼
?? H
字號:
/*
Module : SERIALPORT.H
Purpose: Declaration for an MFC wrapper class for serial ports
Created: PJN / 31-05-1999

Copyright (c) 1999 - 2006 by PJ Naughter.  

All rights reserved.

Copyright / Usage Details:

You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 
when your product is released in binary form. You are allowed to modify the source code in any way you want 
except you cannot modify the copyright details at the top of each module. If you want to distribute source 
code with your application, then you are only allowed to distribute versions released by the author. This is 
to maintain a single distribution point for the source code. 

*/



///////////////////// Macros / Structs etc //////////////////////////

#ifndef __SERIALPORT_H__
#define __SERIALPORT_H__

#ifndef CSERIALPORT_EXT_CLASS
#define CSERIALPORT_EXT_CLASS
#endif

#ifndef CSERIALPORT_EXT_API
#define CSERIALPORT_EXT_API
#endif


/////////////// The main serial port class ////////////////////////////////////

class CSerialPort
{
public:
//Enums
  enum FlowControl
  {
    NoFlowControl,
    CtsRtsFlowControl,
    CtsDtrFlowControl,
    DsrRtsFlowControl,
    DsrDtrFlowControl,
    XonXoffFlowControl
  };

  enum Parity
  {    
    EvenParity,
    MarkParity,
    NoParity,
    OddParity,
    SpaceParity
  };

  enum StopBits
  {
    OneStopBit,
    OnePointFiveStopBits,
    TwoStopBits
  };

//Constructors / Destructors
  CSerialPort();
  virtual ~CSerialPort();

//General Methods
  virtual void Open(int nPort, DWORD dwBaud = 9600, Parity parity = NoParity, BYTE DataBits = 8, 
            StopBits stopbits = OneStopBit, FlowControl fc = NoFlowControl, BOOL bOverlapped = FALSE);
  virtual void Close();

  void Attach(HANDLE hComm);
  HANDLE Detach();
  operator HANDLE() const { return m_hComm; };
  BOOL IsOpen() const { return m_hComm != INVALID_HANDLE_VALUE; };
#ifdef _DEBUG
  void Dump(CDumpContext& dc) const;
#endif


  //Add by Dengyangjun@gmail.com 07/20 2006
  void SetDataBytes(BYTE dataBits);
  void SetBaud(DWORD dwBaud);
  void SetParity(Parity parity);
  void SetStopBits(StopBits stopbits);
  void SetFlowControl(FlowControl fc);


//Reading / Writing Methods
  //Windows Me/98/95:  Neither WriteEx nor ReadEx can be used by 
  //the comm ports to communicate. However, you can use WriteFile and ReadFile 
  //to perform asynchronous communication.
  DWORD Read(void* lpBuf, DWORD dwCount);
  BOOL  Read(void* lpBuf, DWORD dwCount, OVERLAPPED& overlapped, DWORD* pBytesRead=NULL);
  void  ReadEx(void* lpBuf, DWORD dwCount);
  DWORD Write(const void* lpBuf, DWORD dwCount);
  BOOL  Write(const void* lpBuf, DWORD dwCount, OVERLAPPED& overlapped, DWORD* pBytesWritten=NULL);
  virtual void  WriteEx(const void* lpBuf, DWORD dwCount);
  void  TransmitChar(char cChar);
  void  GetOverlappedResult(OVERLAPPED& overlapped, DWORD& dwBytesTransferred, BOOL bWait);
  void  CancelIo();
  DWORD BytesWaiting();
  BOOL  DataWaiting(DWORD dwTimeout);

//Configuration Methods
  void GetConfig(COMMCONFIG& config);
  static void GetDefaultConfig(int nPort, COMMCONFIG& config);
  void SetConfig(COMMCONFIG& Config);
  static void SetDefaultConfig(int nPort, COMMCONFIG& config);

//Misc RS232 Methods
  void ClearBreak();
  void SetBreak();
  void ClearError(DWORD& dwErrors);
  void GetStatus(COMSTAT& stat);
  void GetState(DCB& dcb);
  void SetState(DCB& dcb);
  void Escape(DWORD dwFunc);
  void ClearDTR();
  void ClearRTS();
  void SetDTR();
  void SetRTS();
  void SetXOFF();
  void SetXON();
  void GetProperties(COMMPROP& properties);
  void GetModemStatus(DWORD& dwModemStatus); 

//Timeouts
  void SetTimeouts(COMMTIMEOUTS& timeouts);
  void GetTimeouts(COMMTIMEOUTS& timeouts);
  void Set0Timeout();
  void Set0WriteTimeout();
  void Set0ReadTimeout();

//Event Methods
  void SetMask(DWORD dwMask);
  void GetMask(DWORD& dwMask);
  void WaitEvent(DWORD& dwMask);
  BOOL WaitEvent(DWORD& dwMask, OVERLAPPED& overlapped);
  
//Queue Methods
  void Flush();
  void Purge(DWORD dwFlags);
  void TerminateOutstandingWrites();
  void TerminateOutstandingReads();
  void ClearWriteBuffer();
  void ClearReadBuffer();
  void Setup(DWORD dwInQueue, DWORD dwOutQueue);

//Overridables
  virtual void OnCompletion(DWORD dwErrorCode, DWORD dwCount, LPOVERLAPPED lpOverlapped);

//Static methods
  static void ThrowSerialException(DWORD dwError = 0);

protected:
//Typedefs
  typedef BOOL (WINAPI CANCELIO)(HANDLE);
  typedef CANCELIO* LPCANCELIO;

//Static methods
  static void WINAPI _OnCompletion(DWORD dwErrorCode, DWORD dwCount, LPOVERLAPPED lpOverlapped); 

//Member variables
  HANDLE     m_hComm;        //Handle to the comms port
  HANDLE     m_hEvent;       //A event handle we need for internal synchronisation
  HINSTANCE  m_hKernel32;    //Kernel32 handle
  LPCANCELIO m_lpfnCancelIo; //CancelIO function pointer
};

#endif //__SERIALPORT_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频久久久久久| 亚洲高清免费视频| 26uuu精品一区二区在线观看| 欧美三级乱人伦电影| 色综合婷婷久久| 91在线播放网址| 99热精品一区二区| 91网址在线看| 欧美日韩亚州综合| 91精品久久久久久蜜臀| 欧美日韩综合一区| 欧美成人在线直播| 国产亚洲一本大道中文在线| 国产亚洲婷婷免费| 欧美激情在线免费观看| 国产精品福利在线播放| 亚洲制服丝袜在线| 日本vs亚洲vs韩国一区三区 | 日韩精品一区二区三区视频播放 | 一区二区三区精品视频| 香蕉久久夜色精品国产使用方法 | a级高清视频欧美日韩| 91美女片黄在线| 欧美一区二区三区思思人| 欧美成人官网二区| 国产日韩精品一区二区三区| 综合激情成人伊人| 免费欧美在线视频| 成人美女视频在线看| 色噜噜狠狠一区二区三区果冻| 欧美日韩免费不卡视频一区二区三区| 69成人精品免费视频| 欧美激情综合五月色丁香小说| 亚洲午夜av在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品一区专区| 精品视频1区2区| 国产亚洲欧美色| 天天综合网天天综合色| 国产成人午夜高潮毛片| 欧美性做爰猛烈叫床潮| 国产亚洲综合在线| 午夜久久电影网| 99久久99久久免费精品蜜臀| 日韩欧美高清dvd碟片| 一区二区视频在线| 丰满白嫩尤物一区二区| 欧美一卡在线观看| 一区二区视频免费在线观看| 国产高清精品久久久久| 91精品国产欧美一区二区18| 亚洲猫色日本管| 国产盗摄视频一区二区三区| 91精品国产91热久久久做人人| 国产精品丝袜在线| 久久成人久久鬼色| 精品视频色一区| 曰韩精品一区二区| 91蜜桃视频在线| 国产精品免费视频网站| 国精品**一区二区三区在线蜜桃| 欧美日韩中文字幕一区| 中文字幕视频一区| 成人精品免费看| 国产日韩精品一区二区浪潮av | 91免费精品国自产拍在线不卡| 久久久久国产精品麻豆ai换脸| 美腿丝袜亚洲一区| 久久色在线视频| 日本欧美在线看| 欧美精品高清视频| 日韩精品乱码免费| 欧美麻豆精品久久久久久| 亚洲电影在线免费观看| 欧美午夜免费电影| 亚洲成人动漫在线免费观看| 欧美性生活大片视频| 亚洲午夜精品久久久久久久久| 成人国产一区二区三区精品| 国产精品大尺度| 99久久国产综合色|国产精品| 国产精品毛片无遮挡高清| 成人av动漫网站| 亚洲视频免费在线| 精品视频一区 二区 三区| 偷拍自拍另类欧美| 精品成人在线观看| 成人黄页在线观看| 亚洲一区二区三区四区在线观看| 欧美日韩成人综合天天影院| 天堂在线亚洲视频| 久久综合网色—综合色88| 韩国精品一区二区| 亚洲欧洲精品成人久久奇米网| 95精品视频在线| 亚洲午夜久久久久| 精品99999| 99久久婷婷国产精品综合| 亚洲国产成人porn| 久久久精品免费观看| 91免费视频网| 日韩国产精品大片| 日本一区二区三区在线观看| 欧美午夜视频网站| 国产成人精品亚洲午夜麻豆| 夜色激情一区二区| 精品国产一区久久| 一本大道av一区二区在线播放| 日日夜夜精品免费视频| 成人欧美一区二区三区在线播放| av色综合久久天堂av综合| 一区二区三区久久| 久久午夜老司机| 欧美日本一区二区| 国产一二精品视频| 午夜精品久久久久久久久久久 | 亚洲激情在线激情| 精品99一区二区| 欧美日韩欧美一区二区| 国产丶欧美丶日本不卡视频| 天天综合天天做天天综合| 国产精品国产三级国产普通话99 | 99精品热视频| 麻豆精品在线播放| 亚洲综合成人在线视频| 国产精品三级av| 欧美一级免费观看| 色伊人久久综合中文字幕| 国产98色在线|日韩| 奇米色一区二区三区四区| 一区二区免费视频| 国产区在线观看成人精品| 日韩一级高清毛片| 在线观看一区日韩| 成人精品小蝌蚪| 国产乱码精品一区二区三区av| 亚洲bdsm女犯bdsm网站| 依依成人精品视频| 亚洲欧美怡红院| 国产欧美日韩三级| 国产日韩亚洲欧美综合| 精品成人佐山爱一区二区| 91麻豆精品国产自产在线| 欧美亚洲综合一区| 色婷婷av一区二区三区大白胸 | 91成人网在线| 成人av动漫网站| bt7086福利一区国产| 成人h版在线观看| 国产成人精品免费| 国产91精品免费| 粉嫩一区二区三区性色av| 国产精品99久久不卡二区| 九九精品视频在线看| 久久99精品国产91久久来源| 麻豆成人91精品二区三区| 蜜臀久久久久久久| 久久99精品久久久| 国产高清在线精品| 菠萝蜜视频在线观看一区| 成人app在线| 欧美三级中文字幕在线观看| 欧美麻豆精品久久久久久| 91精品国产乱| 国产亚洲婷婷免费| 综合久久久久久| 亚洲成人午夜电影| 捆绑调教美女网站视频一区| 久久99日本精品| 成人黄页在线观看| 欧美少妇一区二区| 精品国产一区二区精华| 国产欧美精品一区二区三区四区| 国产嫩草影院久久久久| 夜夜嗨av一区二区三区网页 | 亚洲乱码国产乱码精品精的特点 | 日韩一区二区三区视频| 久久久91精品国产一区二区三区| 国产精品青草综合久久久久99| 亚洲你懂的在线视频| 欧美aaa在线| 成人黄色片在线观看| 欧美视频一区二区| 久久只精品国产| 亚洲一区二区三区四区的| 韩国女主播成人在线| 94色蜜桃网一区二区三区| 69堂国产成人免费视频| 国产精品久久福利| 日韩电影在线一区二区三区| 国产盗摄一区二区三区| 欧美福利一区二区| 国产精品青草久久| 老司机精品视频线观看86| 91一区二区三区在线播放| 欧美精品1区2区3区| 欧美国产在线观看| 免费av成人在线| 欧美少妇bbb| 综合亚洲深深色噜噜狠狠网站|