⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sh_serial.h

📁 rsa算法打的一个包
💻 H
字号:
// SH_Serial.h: interface for the SH_Serial class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SH_SERIAL_H__457D21CF_35C4_49F6_9C7F_F768CC0B4FC1__INCLUDED_)
#define AFX_SH_SERIAL_H__457D21CF_35C4_49F6_9C7F_F768CC0B4FC1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SH_Object.h"
#include "SH_Buffer.h"  

class AFX_EXT_CLASS SH_Serial : public SH_Object 
{
public:  

    virtual VOID OnRead() = 0;
    virtual VOID OnIdle() {}

    int Read(char * pBuffer,int nBufLen);
    int PseudoRead(char * pBuffer,int nBufLen);

    int Write(const char * pBuffer,int nBufLen);
    int GetBufferLength();

    int RRecv();

    SH_Serial();
	virtual ~SH_Serial();

    BOOL Open(UINT uPort,DWORD dwBaud=9600,BYTE btByteSize=8,char chParity='N',BYTE btStopBit=1,int nBufSiz=4096);

    BOOL IsOpen();

    VOID Close();

    UINT   GetPort()       const { return m_nPort;}
    HANDLE GetSafeHandle() const { return m_hSerial;}
    DWORD  GetBaudRate()   const { return m_dwBaudRate;}
    BYTE   GetStopBit()    const { return m_btStopBit;}
    CHAR   GetParity()     const { return m_chParify;}
    BYTE   GetByteSize()   const { return m_btByteSize;}
    DCB  * GetDCB()        const { return (DCB*)&m_DCB;}

protected:
    LPCTSTR MakeDef();
    VOID    Default(UINT uPort,DWORD dwBaud,BYTE btByteSize,char chParity,BYTE btStopBit,int nBufSiz);
	int     RRecv(char * pBuffer,int nBufLen);
	int     RSend(const char * pBuffer,int nBufLen);

private:
    VOID    AddToQueue();
    VOID    RemoveFromQueue();
    VOID    Initialize();
    VOID    Uninitialize();

private:
    HANDLE       m_hSerial;
    UINT         m_nPort;
    DWORD        m_dwBaudRate;
    BYTE         m_btStopBit;
    CHAR         m_chParify;
    BYTE         m_btByteSize;
    DCB          m_DCB;
    SH_Buffer   *  m_pBuffer;
    OVERLAPPED   m_RO;
    OVERLAPPED   m_SO;
};

#endif // !defined(AFX_SERIAL_H__457D21CF_35C4_49F6_9C7F_F768CC0B4FC1__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -