📄 sh_serial.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 + -