📄 serialport.h
字号:
#pragma once
#include <windows.h>
#include "baseport.h"
#define SP_OK 0
class CSerialPort : public CBasePort
{
public:
CSerialPort(void);
~CSerialPort(void);
// property inquire
BOOL IsOpen(void);
// port process
BOOL Open(DWORD dwComPort,DWORD dwBaudrate,BYTE bByteBits,BYTE bStopBits,BYTE bParity);
BOOL Close(void);
// set port property
BOOL SetupConnect();
void SetDCB(DWORD dwBaudrate,BYTE bByteBits,BYTE bStopBits,BYTE bParity);
void SetDCB(DCB* pDcb = NULL);
void SetTimeouts(COMMTIMEOUTS* pCommTimeouts = NULL);
void SetFlowControl(DWORD dwDtrControl,DWORD dwRtsControl,
BOOL fOutCtsFlow,BOOL fOutDsrFlow,
BOOL fOutX,BOOL fInX,char cXonChar,char cXoffChar);
// communication
BOOL PortOutput(BYTE* pData,UINT uLen);
BOOL PortInput(BYTE* pData,UINT& uLen);
// interface of device
BOOL Send(BYTE* pData,UINT uLen);
UINT GetReceivedLenght();
BOOL Receive(BYTE* pData,UINT& uLen,DWORD dwMilliSecond);
BOOL Receive(BYTE* pData,UINT& uLen);
// thread of watch input port
static DWORD WINAPI WatchThreadProc(PVOID pParam);
public:
HANDLE m_hComm;
// HANDLE m_hWriteThread;
HANDLE m_hWatchThread;
BOOL m_fOpen;
DCB m_Dcb;
COMMTIMEOUTS m_CommTimeouts;
CRITICAL_SECTION m_CriticalSection;
OVERLAPPED m_osWrite;
OVERLAPPED m_osRead;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -