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

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

?? comport.h

?? 它是一個可以實時交互的嵌入式軟件系統
?? H
字號:
/*************************************************************************************************
*                        
*        模塊名稱:多線程串口通訊類        
*        編制人:liu_sir    日期:2003.4.20 -4.30       
*        版本:v1.0 
*        主要類說明:
*             CComPort 串口類  內聚合一個CSerialPort類用于串口的操作
*                      接收模式說明:
*   	                 1.ManualReceiveByQuery,  //手動查詢接收
*		                 2.ManualReceiveByConst,  //定數接收(按照一定數量接收)
*		                 3.AutoReceiveBySignal,   //信號自動接收
*                        4.AutoReceiveByBreak,	   //自動中斷接收
*                     推薦使用:1或3
*		     CReadComThread 串口讀線程類  和CComPort關聯起來進行操作
*       
*
***************************************************************************************************/
#pragma once
//接收函數
#ifndef COMPORT_H
#define COMPORT_H

typedef void (* FOnReceiveData)(LPVOID,void*,DWORD);
typedef void (* FOnComBreak)(LPVOID,DWORD,COMSTAT stat);


#include "serialport.h"
// CComPort 命令目標
namespace LsComm{

class CReadComThread;

class CComPort 
{
public:
	enum ReceiveMode
	{
		ManualReceiveByQuery,  //手動查詢接收
		ManualReceiveByConst,  //定數接收
		AutoReceiveBySignal,   //信號自動接收
        AutoReceiveByBreak,	   //自動中斷接收
	};
    //Enums
	enum FlowControl
	{
		NoFlowControl,
		CtsRtsFlowControl,
		CtsDtrFlowControl,
		DsrRtsFlowControl,
		DsrDtrFlowControl,
		XonXoffFlowControl
	};

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

	enum StopBits
	{
		OneStopBit,
		OnePointFiveStopBits,
		TwoStopBits
	};

	CComPort();
	virtual ~CComPort();


	  //1.打開,關閉串口函數
	  void Open(int nPort,ReceiveMode mode=AutoReceiveBySignal, DWORD dwBaud = 9600, Parity parity = NoParity, BYTE DataBits = 8, 
		  StopBits stopbits = OneStopBit, FlowControl fc = NoFlowControl);
      void Close();

      //2.設置接收函數,中斷處理函數 
	  void SetReceiveFunc(FOnReceiveData pfnOnReceiveData,LPVOID pSender);
      void SetBreakHandleFunc(FOnComBreak pfnOnComBreak);

	  //3.獲取自身參數
	  int GetCurPortNum() { return this->m_CurPortNum;  }
	  CSerialPort* GetSerialPort(); 
	  HANDLE GetCloseHandle();
	  ReceiveMode GetReceiveMode();

      //4.(線程類)通知接收處理函數     
	  void ReceiveData(void* pBuf,DWORD InBufferCount);//線程調用的接收函數
	  void ComBreak(DWORD dwMask);

	  //6.輸入,輸出函數--返回實際個數
	  DWORD GetInBufferCount();
	  DWORD GetInput(void* pBuf,DWORD Count,DWORD dwMilliseconds=1000);
	  DWORD Output(void* pBuf,DWORD Count);
	  bool IsOverlapped() { return m_IsOverlapped; }
protected:
	CSerialPort* m_pPort;                           //內含串口類
	CReadComThread* m_pReadThread;                  //讀串口線程 

	LPVOID m_pSender;                               //保存的父窗體指針
	int m_CurPortNum;                               //當前端口號 
    FOnReceiveData m_pfnOnReceiveData;              //接收信號函數
	FOnComBreak    m_pfnOnComBreak;                 //串口事件處理函數
    ReceiveMode    m_RecvMode;                      //接收模式

	HANDLE         m_hWriteEvent;                    //寫事件
	OVERLAPPED     m_WriteOverlapped;                //寫重疊結構

	bool m_IsOverlapped;                            //是否重疊結構;
private:
    HANDLE m_hCloseEvent; //E: A event handle to close thread  //Chinese:結束線程事件

};

DWORD WINAPI ThreadFunc(LPVOID  lpParam ); //線程調用函數 

class CReadComThread
{
public:
    /*1.構造與系構函數
	*/
	CReadComThread();
    virtual ~CReadComThread();          
    
	/* 2.創建,結束,復位 
	*/
    void Create();                         //創建線程
    void Terminate();                      //結束線程
    void Resume();                         //復位 
	bool IsTerminated()	{return this->m_IsTerminated; }
     
	/*3.綁定串口,異步讀取
	*/
	void BandSerialPort(CComPort* pPort);  //綁定串口
	DWORD ReadInput(void* pBuf,DWORD Count,DWORD dwMilliseconds);//異步讀取輸入

	friend DWORD WINAPI ThreadFunc(LPVOID  lpParam ); 
protected:
	DWORD dwThreadId;//線程號  
    bool IsClose;
    /*4.設置異步讀取事件,異步中斷事件以及處理事件
	*/
	bool SetReadEvent(OVERLAPPED& overlapped);//設置啟動讀事件
	bool HandleReadEvent(OVERLAPPED& overlapped);//處理讀事件
    bool HandleData(); //處理讀取數據
    
	bool SetBreakEvent(DWORD& dwMask);//設置串口中斷事件,通過DWMask參數的改變返回監聽狀態
	bool HandleBreakEvent(DWORD dwMask);//處理串口中斷事件

	/*5.手動模式,信號模式,中斷模式執行線程
	*/
	void ExecuteByAutoSignalRecvMode();
	void ExecuteByAutoBreakRecvMode();
	void ExecuteByManualQueryRecvMode();
	void ExecuteByManualConstRecvMode();
    void Execute(void);                    //線程執行
   
private:
	HANDLE m_hThread;           //線程句柄
	CComPort* m_pPort;          //關聯串口指針

    byte  m_InputBuffer[2048];  //接收緩沖區
	byte* m_pBuffer;            //實際的內存 
	DWORD m_InBufferCount;      //接收個數 

	OVERLAPPED m_ReadOverlapped;     //讀取重疊結構
	OVERLAPPED m_BreakOverlapped;    //串口中斷事件結構
    
	bool m_IsTerminated;            //是否結束線程 

};

}//namespace

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产在线观看| 国产精品情趣视频| 91丨porny丨中文| 日韩av一区二区在线影视| 日本一区二区三区久久久久久久久不| 91久久线看在观草草青青| 精品制服美女久久| 亚洲国产一区视频| 国产精品久久久久一区二区三区共| 欧美男男青年gay1069videost | 亚洲人快播电影网| 欧美精品一区二区三区蜜臀 | 日韩视频免费观看高清完整版 | 成人综合日日夜夜| 男女激情视频一区| 亚洲高清免费视频| 一区二区三区四区av| 欧美韩日一区二区三区四区| 欧美精品一区视频| 日韩免费电影网站| 4438x亚洲最大成人网| 在线亚洲精品福利网址导航| 成人综合在线视频| 成人一区二区在线观看| 国内精品伊人久久久久影院对白| 在线观看一区二区视频| 男男视频亚洲欧美| 3atv一区二区三区| 欧美日韩中文字幕一区二区| 91亚洲大成网污www| 成人h版在线观看| 国产精选一区二区三区| 久久99精品一区二区三区 | 国产九九视频一区二区三区| 麻豆专区一区二区三区四区五区| 午夜一区二区三区在线观看| 亚洲高清免费观看| 日韩精品午夜视频| 日韩av电影免费观看高清完整版 | 天堂精品中文字幕在线| 日韩中文字幕91| 奇米影视一区二区三区小说| 奇米四色…亚洲| 麻豆精品国产传媒mv男同| 青青草成人在线观看| 蜜臀久久久久久久| 国内精品伊人久久久久影院对白| 国产综合成人久久大片91| 国产精品99精品久久免费| 成人影视亚洲图片在线| 91在线国内视频| 欧美日精品一区视频| 在线播放中文一区| 日韩精品一区二区在线| 国产日韩成人精品| 综合自拍亚洲综合图不卡区| 亚洲女爱视频在线| 日日骚欧美日韩| 日本一区二区高清| 国产精品美女一区二区在线观看| 自拍偷拍亚洲激情| 亚洲欧洲日产国码二区| 亚洲精品国产精品乱码不99| 亚洲午夜久久久| 老色鬼精品视频在线观看播放| 国产一区二区免费看| 成人综合婷婷国产精品久久蜜臀 | 久久日韩粉嫩一区二区三区| 欧美激情一区三区| 一区二区三区四区激情| 美女被吸乳得到大胸91| 国产成人精品免费视频网站| 91香蕉视频在线| 欧美一激情一区二区三区| 久久精品一区四区| 亚洲综合另类小说| 久久99热99| 91蜜桃传媒精品久久久一区二区| 欧美久久久久中文字幕| 国产丝袜在线精品| 亚洲成av人片在线观看| 国产精品影视在线观看| 成人免费高清在线观看| 91精品在线麻豆| 午夜国产精品一区| 热久久久久久久| 极品少妇一区二区| 亚洲日本免费电影| 免费国产亚洲视频| 一本一本大道香蕉久在线精品| 欧美日韩激情一区| 中文在线资源观看网站视频免费不卡 | 美国av一区二区| 94-欧美-setu| 精品美女一区二区三区| 亚洲激情综合网| 国产成人综合网站| 欧美久久高跟鞋激| 亚洲婷婷综合色高清在线| 久久99久久精品| 欧美日韩高清影院| 国产精品国产三级国产aⅴ原创| 成人h精品动漫一区二区三区| 精品国一区二区三区| 亚洲电影在线免费观看| 中文字幕字幕中文在线中不卡视频| 欧美日韩1区2区| 欧美福利一区二区| 亚洲欧美韩国综合色| 国产呦精品一区二区三区网站| 欧美性猛交xxxx黑人交| 日本一区二区在线不卡| 久久精品国产色蜜蜜麻豆| 欧美日韩在线电影| 亚洲免费在线观看视频| 丰满岳乱妇一区二区三区| 精品免费国产二区三区| 男人的j进女人的j一区| 欧美精品在线观看播放| 亚洲成人精品一区| 日本精品免费观看高清观看| 国产精品乱码一区二区三区软件 | 国产精品丝袜久久久久久app| 免费av网站大全久久| 91精品国产乱码久久蜜臀| 亚洲永久免费视频| 91黄色免费观看| 亚洲乱码一区二区三区在线观看| www.日本不卡| 国产精品久久久久久久蜜臀| 成人手机在线视频| 国产精品情趣视频| 9i看片成人免费高清| 国产**成人网毛片九色| 精品国产123| 亚洲成av人片一区二区三区| 日韩美女一区二区三区四区| 欧美影院一区二区| 亚洲不卡一区二区三区| 国产一区二区福利| 欧美精品一级二级| 婷婷综合五月天| 日韩一区二区三区四区五区六区| 亚洲不卡一区二区三区| 欧美一级欧美三级| 久久精品国产亚洲一区二区三区| 精品乱人伦小说| 国产传媒一区在线| 一区在线播放视频| 91福利社在线观看| 偷拍一区二区三区四区| 欧美一级一级性生活免费录像| 美女在线观看视频一区二区| 久久久久久久久久久99999| av资源网一区| 一区二区三区在线看| 欧美丰满一区二区免费视频| 免费成人在线影院| 中文在线资源观看网站视频免费不卡| 91一区二区三区在线观看| 国产精品主播直播| 精品久久久久久久久久久久久久久| 另类综合日韩欧美亚洲| 久久久www免费人成精品| 99久久精品一区| 午夜电影一区二区三区| 久久一区二区视频| 91丝袜高跟美女视频| 天天做天天摸天天爽国产一区| 日韩免费视频一区| 91在线无精精品入口| 天天影视涩香欲综合网| 久久久精品2019中文字幕之3| 91网站黄www| 久色婷婷小香蕉久久| 中文字幕亚洲一区二区av在线| 欧美日韩一区二区三区在线看| 狠狠色狠狠色综合| 亚洲综合激情另类小说区| 日韩精品在线一区| 91免费看视频| 久久不见久久见免费视频1| 日韩理论电影院| 欧美一区二区成人6969| 99re在线视频这里只有精品| 五月激情丁香一区二区三区| 国产欧美视频一区二区| 555www色欧美视频| 91蜜桃婷婷狠狠久久综合9色| 六月婷婷色综合| 一区二区三区中文在线| 久久久精品国产99久久精品芒果| 欧美日韩一区在线| av电影在线观看一区| 久久精品国产精品亚洲红杏| 亚洲一区二区在线免费观看视频| 国产偷国产偷亚洲高清人白洁 | 国产伦精品一区二区三区在线观看| 亚洲欧美日韩国产手机在线| 久久久国产午夜精品|