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

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

?? cport.hpp

?? C語言開發(fā)串行通訊程序庫
?? HPP
字號:
//
// CPORT.HPP
//
// C++ Extention Header file for Cport Communications Library
//
// Copyright (c) 1993 Bri Productions
//
//


#ifndef _CPORT_HPP_
#define _CPORT_HPP_


//-------------------------------------
//
// Cport class
//
//-------------------------------------
class Cport
{
      // Default values
      //
   enum   {
            DEF_RXQ  = 1024,
            DEF_TXQ  = 512,
            DEF_MODE = W8|S1|NONE
         };

   int   open_err;   // open errors
   COM   c;          // serial port handle
   int*  ref_cnt;    // reference count

public:

      // Constructors and destructor
      //
   Cport(unsigned id, 
         int baud, 
         byte mode = DEF_MODE, 
         unsigned rxQ = DEF_RXQ, 
         unsigned txQ = DEF_TXQ,
         byte htype = OFF
         );
   Cport(unsigned id, 
         int baud, 
         byte mode, 
         unsigned rxQ, 
         unsigned txQ,
         byte htype,
         unsigned thresh
         );
   Cport  (const CPARAM& param);
   ~Cport ();


      // Copy constructor and assignment
      //
   Cport            (Cport& cport);
   Cport& operator= (Cport& cport);


      // Typecasts
      //
   operator int()    { return(open_err); }
   operator COM()    { return(c);        }
   int ref()         { return(*ref_cnt); } // debug


      // Control
      //
   void     Handshake (byte htype, unsigned thresh);
   void     Param     (CPARAM& param);
   void     Baud      (int baud);     
   void     Mode      (byte mode);    
   int      Tx        (int cmnd);  
   void     NS550     (int trigger);  
   static void Turbo  (int options);
   unsigned RxQ       (unsigned size);
   unsigned TxQ       (unsigned size);


      // Input 
      // 
   char     Get     ();
   unsigned LenRx   ();
   char*    Get     (char *str, int maxc, char termc = '\n');
   unsigned In      (void *abyte, unsigned nbyte);
   void     FlushRx ();
   char     Peek    ();
   unsigned RxScan  (char ch);


      // Output 
      //
   int      Put     (char _c);
   unsigned LenTx   ();
   int      Put     (const char *str);
   unsigned Out     (const void *abyte, unsigned nbyte);
   void     FlushTx ();
   void     TxWait  ();


      // Status 
      //
   unsigned Error  ();
   unsigned Status ();
   void     Out1   (byte on_off);
   void     Rts    (byte on_off);
   void     Dtr    (byte on_off);
   int      Uart   ();


      // Misc fuctions
      //
   void SetBreak ();
   void ClrBreak ();
   void Scratch  (byte abyte);
   byte Scratch  ();

   static byte          Checksum (const void *abyte, unsigned nbyte);
   static unsigned      Crc16    (const void *abyte, unsigned nbyte);
   static unsigned long Crc32    (const void *abyte, unsigned nbyte);

};


//-------------------------------------
//
// Constructors and destructor
//
//-------------------------------------

inline Cport::Cport(unsigned id, int baud, byte mode, 
                                       unsigned rxQ, unsigned txQ, byte htype)
{
   *(ref_cnt = new int) = 1;
   c = ComOpen(id, baud, mode, rxQ, txQ);
   if((open_err = comopen_errno) == NO_ERR && htype != OFF)
      ComHandshake(c, htype, (rxQ * 3) / 4);
}

inline Cport::Cport(unsigned id, int baud, byte mode, 
                     unsigned rxQ, unsigned txQ, byte htype, unsigned thresh)
{
   *(ref_cnt = new int) = 1;
   c = ComOpen(id, baud, mode, rxQ, txQ);
   if((open_err = comopen_errno) == NO_ERR && htype != OFF)
      ComHandshake(c, htype, thresh);
}

inline Cport::Cport(const CPARAM& param)
{
   *(ref_cnt = new int) = 1;
   c = ComOpenS(&param);
   open_err = comopen_errno;
}

inline Cport::~Cport()
{
   if(!(--(*ref_cnt)))
   {
      if(open_err == NO_ERR)
         ComClose(c);
      delete ref_cnt;
   }
}


//-------------------------------------
//
// Copy constructor and assignment
//
//-------------------------------------

inline Cport::Cport(Cport& cport)
{
   open_err = cport.open_err;
   c = cport.c;
   (*(ref_cnt = cport.ref_cnt))++;
}

inline Cport& Cport::operator=(Cport& cport)
{
   if(!(--(*ref_cnt)))
	{
      if(open_err == NO_ERR)
    	  ComClose(c);
      delete ref_cnt;
	}

   open_err = cport.open_err;
   c = cport.c;
   (*(ref_cnt = cport.ref_cnt))++;
   return(*this);
}


//-------------------------------------
//
// Control
//
//-------------------------------------

inline void     Cport::Handshake (byte htype, unsigned thresh)
                                       { ComHandshake(c, htype, thresh); }
inline void     Cport::Param (CPARAM& param) { ComParam(c, &param);      }
inline void     Cport::Baud  (int baud)      { ComBaud(c, baud);         }
inline void     Cport::Mode  (byte mode)     { ComMode(c, mode);         }
inline int      Cport::Tx    (int on_off)    { return(ComTx(c, on_off)); }
inline void     Cport::NS550 (int trigger)   { ComNS550(c, trigger);     }
inline void     Cport::Turbo (int options)   { ComTurbo(options);        }
inline unsigned Cport::RxQ   (unsigned size) { return(ComRxQ(c,size));    }
inline unsigned Cport::TxQ   (unsigned size) { return(ComTxQ(c,size));    }


//-------------------------------------
//
// Input 
//
//-------------------------------------

inline char     Cport::Get     ()                { return(ComGetc(c));       }
inline unsigned Cport::LenRx   ()                { return(ComLenRx(c));      }
inline char*    Cport::Get     (char *str, int max_c, char term_c) 
                               { return(ComGets(c, str, max_c, term_c));     }
inline unsigned Cport::In      (void *abyte, unsigned n_byte) 
                                      { return(ComIn(c, abyte, n_byte));     }
inline void     Cport::FlushRx ()                { ComFlushRx(c);            }
inline char     Cport::Peek    ()                { return(ComPeek(c));       }
inline unsigned Cport::RxScan  (char ch)         { return(ComRxScan(c, ch)); }


//-------------------------------------
//
// Output
//
//-------------------------------------

inline int      Cport::Put     (char _c)         { return(ComPutc(c,_c ));  }
inline unsigned Cport::LenTx   ()                { return(ComLenTx(c));     }
inline int      Cport::Put     (const char *str) { return(ComPuts(c, str)); }
inline unsigned Cport::Out     (const void *abyte, unsigned n_byte)
                                   { return(ComOut(c, abyte, n_byte));      }
inline void     Cport::FlushTx ()                { ComFlushTx(c);           }
inline void     Cport::TxWait  ()                { ComTxWait (c);           }


//-------------------------------------
//
// Status functions 
//
//-------------------------------------

inline unsigned Cport::Error   ()            { return(ComError(c));     }  
inline unsigned Cport::Status  ()            { return(ComStatus(c));    }
inline void     Cport::Out1    (byte on_off) { ComMcr(c, on_off, 0x04); }
inline void     Cport::Rts     (byte on_off) { ComMcr(c, on_off, 0x02); }
inline void     Cport::Dtr     (byte on_off) { ComMcr(c, on_off, 0x01); }
inline int      Cport::Uart    ()            { return(ComUart(c));      }


//-------------------------------------
//
// Misc fuctions
//
//-------------------------------------

inline void     Cport::SetBreak ()         { ComSetBreak (c);         }
inline void     Cport::ClrBreak ()         { ComClrBreak (c);         }
inline void     Cport::Scratch(byte abyte) { ComPutScrtch(c, abyte);  }
inline byte     Cport::Scratch()           { return(ComGetScrtch(c)); }


inline byte          Cport::Checksum (const void *abyte, unsigned nbyte)
		 			               { return(ComChecksum(abyte, nbyte)); }
inline unsigned      Cport::Crc16    (const void *abyte, unsigned nbyte)
		 			               { return(ComCrc16(abyte, nbyte));    }
inline unsigned long Cport::Crc32    (const void *abyte, unsigned nbyte)
								               { return(ComCrc32(abyte, nbyte));    }

#endif   // CPORT.HPP


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合激情五月| 日韩欧美一二三区| 欧美一区二区三区成人| 国产午夜亚洲精品午夜鲁丝片| √…a在线天堂一区| 久久精品免费看| 91浏览器在线视频| 国产亚洲欧美日韩在线一区| 日韩av一区二区三区四区| heyzo一本久久综合| 精品毛片乱码1区2区3区| 午夜成人免费电影| av在线不卡免费看| 亚洲国产精品成人综合| 麻豆91免费观看| 91麻豆精品国产91久久久资源速度| 中文字幕一区在线| 蜜桃一区二区三区四区| 欧美日韩一区二区三区视频| 国产精品久久久久久久岛一牛影视 | 麻豆中文一区二区| 欧美日本精品一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 国产在线一区二区综合免费视频| 欧美日韩精品一区视频| 亚洲电影中文字幕在线观看| 精品成人私密视频| 秋霞成人午夜伦在线观看| 欧美日韩国产免费一区二区| 亚洲一区二区三区四区在线观看| 91视频在线观看| 亚洲精品成人精品456| 91麻豆国产福利在线观看| 中文字幕在线不卡国产视频| 91麻豆免费看| 亚洲精品中文字幕乱码三区| 91丨porny丨首页| 亚洲乱码一区二区三区在线观看| 99久久婷婷国产综合精品| 国产精品久久久久久户外露出 | 91网站最新地址| 国产精品女同互慰在线看| 丁香激情综合国产| 亚洲欧美怡红院| 91久久精品一区二区三| 一区二区成人在线| 欧美日韩美女一区二区| 免费观看日韩av| 久久你懂得1024| 成人h动漫精品一区二| 中文字幕亚洲一区二区va在线| 色婷婷久久99综合精品jk白丝| 一区二区三区在线观看动漫| 欧美另类videos死尸| 日本sm残虐另类| 亚洲国产岛国毛片在线| 色哟哟日韩精品| 免费在线视频一区| 久久久久久久免费视频了| 一本一道综合狠狠老| 日韩中文字幕不卡| 国产人伦精品一区二区| 欧美自拍偷拍午夜视频| 麻豆精品在线视频| 国产精品久久久久婷婷二区次| 欧美亚洲国产一区二区三区va| 美女一区二区久久| 一区在线中文字幕| 日韩午夜激情免费电影| av网站一区二区三区| 婷婷综合在线观看| 国产精品久久久久久久久免费桃花 | 色综合网站在线| 免播放器亚洲一区| 一区免费观看视频| 精品少妇一区二区三区日产乱码| 成av人片一区二区| 蜜桃传媒麻豆第一区在线观看| 中文字幕一区二区在线观看| 精品精品国产高清a毛片牛牛| 99国内精品久久| 久久精品国产亚洲高清剧情介绍| 1区2区3区精品视频| 日韩一区二区三区免费观看| 91香蕉视频在线| 国产精品一二三区在线| 午夜视频一区二区三区| 国产精品久久久久永久免费观看| 欧美一级片免费看| 色婷婷激情综合| 国产白丝精品91爽爽久久| 免费高清视频精品| 一区二区三区久久久| 国产精品妹子av| 26uuu成人网一区二区三区| 欧美日韩在线不卡| 日本精品裸体写真集在线观看| 国产精品一区二区不卡| 男男gaygay亚洲| 视频一区中文字幕| 亚洲成人激情自拍| 一区二区三区视频在线观看| 国产精品国产三级国产三级人妇 | 国产精品毛片久久久久久久| 精品国偷自产国产一区| 欧美一区二区精品久久911| 在线免费视频一区二区| 91免费视频网| 99久久久精品| 99久久精品免费精品国产| 国产aⅴ精品一区二区三区色成熟| 久久精品久久久精品美女| 日韩国产欧美三级| 日韩成人伦理电影在线观看| 午夜精品福利一区二区蜜股av| 亚洲愉拍自拍另类高清精品| 亚洲伦理在线精品| 亚洲国产美国国产综合一区二区| 一区二区在线观看免费| 亚洲影视在线观看| 午夜欧美电影在线观看| 日韩电影网1区2区| 蜜乳av一区二区| 国产乱理伦片在线观看夜一区| 国产一区二区福利| 国产成人免费视频| 成人动漫视频在线| 色哟哟一区二区三区| 欧美日韩国产一级片| 日韩午夜在线观看| 国产欧美一区二区三区沐欲| 国产亚洲精品久| 中文字幕一区av| 亚洲成人av福利| 精久久久久久久久久久| 成人永久aaa| 色吧成人激情小说| 欧美一区二区三区视频在线| 久久综合久久久久88| 国产精品欧美久久久久无广告 | 一本一道久久a久久精品综合蜜臀| 色综合天天性综合| 日韩写真欧美这视频| 国产精品污污网站在线观看| 一级女性全黄久久生活片免费| 免费在线观看一区二区三区| 国产成人aaa| 在线观看av不卡| 久久综合给合久久狠狠狠97色69| 中文字幕在线观看一区| 日韩成人av影视| 成人av综合在线| 欧美福利电影网| 国产精品久久久久精k8| 午夜电影久久久| 成人免费视频一区| 欧美精品xxxxbbbb| 国产精品国产自产拍高清av | 欧美成人精品3d动漫h| 日韩一区欧美一区| 久久se精品一区精品二区| 在线中文字幕一区二区| 久久久久久久综合日本| 亚洲成人自拍一区| 国产91色综合久久免费分享| 欧美色男人天堂| 国产精品久久久久婷婷| 麻豆视频一区二区| 欧美性生活久久| 国产精品日韩精品欧美在线| 日本成人在线电影网| 久久综合久久综合久久综合| 一区二区三区在线观看动漫 | 久久精品一区二区| 日韩精品电影在线| 欧美在线|欧美| 中文字幕在线一区| 国产.欧美.日韩| 久久久综合视频| 免费高清在线视频一区·| 欧美在线小视频| 亚洲区小说区图片区qvod| 国产999精品久久久久久绿帽| 日韩一区二区不卡| 日韩—二三区免费观看av| 在线一区二区三区四区五区| 亚洲婷婷综合色高清在线| 国产成人三级在线观看| 2021久久国产精品不只是精品| 奇米精品一区二区三区在线观看一 | 亚洲精品在线观看视频| 日本欧美久久久久免费播放网| 色婷婷av一区二区三区gif| 亚洲欧洲性图库| 不卡的av在线| 136国产福利精品导航| 99久久综合色| 亚洲精品免费电影| 在线影院国内精品| 亚洲成人动漫在线免费观看|