亚洲欧美第一页_禁久久精品乱码_粉嫩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;            //是否結束線程 

};

}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产一区二区三精品乱码| 91丝袜国产在线播放| 国产精品网站在线| 精品污污网站免费看| 国产一区二区三区四| 亚洲一区二区综合| 国产亚洲精品久| 91精品国产一区二区| 91美女精品福利| 国产一区在线观看视频| 亚洲国产一区二区三区青草影视| 久久久国产精华| 69久久99精品久久久久婷婷 | 亚洲少妇最新在线视频| 日韩精品专区在线影院观看| 欧美色图一区二区三区| 成人av影视在线观看| 奇米四色…亚洲| 亚洲一区二区av在线| 国产精品久久久一区麻豆最新章节| 蜜臀av亚洲一区中文字幕| 欧美日韩不卡一区| 91免费看片在线观看| 成人午夜激情片| 国产精品一二二区| 精品一区二区三区免费毛片爱 | 欧美一级理论性理论a| 在线免费观看不卡av| av综合在线播放| 国产乱妇无码大片在线观看| 久久99久久久久| 美女一区二区视频| 免费亚洲电影在线| 天天色天天操综合| 午夜精品在线看| 五月天国产精品| 午夜视黄欧洲亚洲| 亚洲一区二区三区四区不卡| 亚洲欧美日韩国产综合在线| 亚洲精品中文字幕在线观看| 亚洲私人影院在线观看| 亚洲人妖av一区二区| 亚洲欧洲精品一区二区三区| 中文字幕免费一区| 国产精品麻豆99久久久久久| 最新国产成人在线观看| 亚洲美女一区二区三区| 亚洲国产综合色| 午夜精品一区二区三区免费视频| 亚洲成人tv网| 麻豆精品国产传媒mv男同| 奇米888四色在线精品| 日韩一区二区三免费高清| 不卡视频在线看| 91麻豆视频网站| 在线免费观看日韩欧美| 欧美日韩在线播放一区| 欧美视频一区二区| 91精品欧美久久久久久动漫| 日韩视频不卡中文| 国产欧美综合在线| 国产精品久久久久影院老司| 亚洲精品一卡二卡| 亚洲成av人片观看| 韩国一区二区视频| 96av麻豆蜜桃一区二区| 精品1区2区3区| 精品盗摄一区二区三区| 国产精品理论片| 亚洲成人在线观看视频| 美国毛片一区二区| 成人av网站在线观看| 欧美午夜精品久久久久久超碰 | 国产精品情趣视频| 亚洲成a人片在线不卡一二三区| 蜜桃av一区二区三区| youjizz国产精品| 制服丝袜中文字幕一区| 国产日韩成人精品| 一区二区三区在线观看动漫| 久久99日本精品| 成人黄页毛片网站| 欧美高清dvd| 国产精品视频一二| 日韩精品午夜视频| 成人性生交大合| 欧美一区二区在线视频| 欧美国产一区二区在线观看| 午夜私人影院久久久久| 成人精品视频一区| 欧美成人欧美edvon| 成人免费在线播放视频| 麻豆专区一区二区三区四区五区| 成人午夜又粗又硬又大| 欧美精品xxxxbbbb| 国产精品久久久久久久久晋中 | 三级亚洲高清视频| 91看片淫黄大片一级| 一色屋精品亚洲香蕉网站| 日本vs亚洲vs韩国一区三区 | 中文字幕第一区综合| 亚洲高清一区二区三区| 成人理论电影网| 精品久久99ma| 亚洲va欧美va天堂v国产综合| 高清成人在线观看| 日韩免费高清电影| 亚洲国产精品一区二区久久恐怖片| 粉嫩在线一区二区三区视频| 欧美一区午夜精品| 亚洲午夜久久久| 97精品国产97久久久久久久久久久久| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲福利视频一区| 97se亚洲国产综合自在线不卡| 欧美岛国在线观看| 日韩**一区毛片| 在线看不卡av| 亚洲黄一区二区三区| 成人午夜精品一区二区三区| 精品久久国产97色综合| 免费观看在线色综合| 欧美精品一二三| 亚洲不卡一区二区三区| 欧洲精品中文字幕| 中文字幕一区二区三区av| 久久国产精品色婷婷| 欧美一区2区视频在线观看| 亚洲成年人网站在线观看| 91浏览器在线视频| 亚洲精品久久久久久国产精华液| av中文一区二区三区| 中文字幕电影一区| 成人免费视频视频| 国产精品网站一区| 播五月开心婷婷综合| 国产精品三级av| 懂色av中文字幕一区二区三区| 国产精品欧美一区喷水| 久久综合狠狠综合久久综合88| 蜜臀av在线播放一区二区三区 | 久久久精品人体av艺术| 精品一区二区三区av| 26uuu另类欧美亚洲曰本| 国产在线视视频有精品| 久久久久久久久久久久久夜| 国产精品中文欧美| 欧美激情一区二区三区不卡 | 亚洲国产一区在线观看| 欧美日韩国产在线播放网站| 亚洲电影激情视频网站| 91精品国产91综合久久蜜臀| 久久精品国产色蜜蜜麻豆| 国产亚洲欧洲一区高清在线观看| 国产成人精品一区二区三区四区| 中文字幕成人在线观看| 99riav久久精品riav| 亚洲激情六月丁香| 欧美日韩国产小视频| 美女视频一区二区三区| 精品福利一二区| 99久久久精品| 一二三四社区欧美黄| 日韩欧美另类在线| 成人精品视频一区二区三区尤物| 伊人一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 久久精品国内一区二区三区| 久久亚洲精华国产精华液 | 91精品国产综合久久精品| 久久99在线观看| 亚洲欧美在线aaa| 欧美日韩精品一区视频| 国产原创一区二区三区| 亚洲免费观看高清完整版在线观看熊| 欧美性猛交xxxx黑人交| 裸体一区二区三区| 国产视频一区二区三区在线观看| 色综合中文字幕国产 | 麻豆精品视频在线观看视频| 国产欧美日韩久久| 欧美性大战久久| 国产综合色精品一区二区三区| ...中文天堂在线一区| 91精品国产91久久久久久最新毛片 | 国产亚洲va综合人人澡精品| 色偷偷一区二区三区| 久久精品久久99精品久久| 亚洲婷婷综合久久一本伊一区| 日韩欧美中文一区二区| 99麻豆久久久国产精品免费优播| 日韩av电影天堂| 国产精品的网站| 精品国产乱码久久久久久久久| 色成人在线视频| 国产福利电影一区二区三区| 日韩精品每日更新| 亚洲精品中文在线影院| 国产肉丝袜一区二区| 欧美电影精品一区二区|