comm.h

来自「LMS软件是用来进行自适应滤波的最小均方误差算法」· C头文件 代码 · 共 50 行

H
50
字号
//---------------------------------------------------------------------------

#ifndef  _comm_
#define  _comm_
#include <windows.h>

#define  WM_COMM_RD_OK          WM_USER+100
#define  WM_COMM_WR_OK          WM_USER+101
#define  WM_COMM_RD_ERROR       WM_USER+102
#define  WM_COMM_WR_ERROR       WM_USER+103

class COMM
{
private:
        HANDLE          CommPort;
        char            CommName[5];
        HWND            Window;
        HANDLE          ThreadHandleWR;
        HANDLE          ThreadHandleRD;
        char*           DataBufRD;
        char*           DataBufWR;
        DWORD           LengthRD;
        DWORD           LengthWR;
        DWORD           ModemState;
        DWORD           TimeOutRD;
        DWORD           TimeOutWR;
        OVERLAPPED      OverWR;
        OVERLAPPED      OverRD;
        DCB             CommDCB;
        COMMTIMEOUTS    CommTimeOut;

        static DWORD    CommThreadRD(PVOID Handle);
        static DWORD    CommThreadWR(PVOID Handle);
public:
        COMM(HWND hWnd);
        ~COMM();
        DWORD Open(char* PortName,UINT Baud,UINT DataBits,BYTE Parity,BYTE StopBits);
        DWORD Read(char* DataBuf,UINT Length,bool Synchro);
        DWORD Write(char* DataBuf,UINT Length,bool Synchro);
        DWORD GetModemState();
        DWORD ShowLastError();
        DWORD SetTimeOut(DWORD RD,DWORD WR);
        void TerminateRD();
        void TerminateWR();
        void SetWindow(HANDLE hWnd);
        void Close();
};
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

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