📄 canrecvdlg.h
字号:
// CANRecvDlg.h : header file
//
#if !defined(AFX_CANRECVDLG_H__56AEBC6B_70D3_420A_9883_83587638A5BF__INCLUDED_)
#define AFX_CANRECVDLG_H__56AEBC6B_70D3_420A_9883_83587638A5BF__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
typedef struct {
UCHAR rtr; // EFF RTR 0 0 DLC.3 DLC.2 DLC.1 DLC.0
ULONG id; // not present in standard frames
UCHAR dlen;
UCHAR data[8];
} CAN_MSG_T, *PCAN_MSG_T;
/////////////////////////////////////////////////////////////////////////////
// CCANRecvDlg dialog
class CCANRecvDlg : public CDialog
{
// Construction
public:
CCANRecvDlg(CWnd* pParent = NULL); // standard constructor
LONG AllocMsgMem();
LONG FreeMsgMem();
// member variable
private:
static WORD m_nPort; //1 based
WORD m_nBaudRate;
WORD m_nHostID;
UINT m_nBTR0;
UINT m_nBTR1;
UINT m_nAcpCode;
UINT m_nAcpMask;
UINT m_nIntMask;
UINT m_nOutCtrlCode;
UINT m_nProtocolType;
BOOL m_bOpen;
// filter data for 2.0B only
CString m_sFilter;
int m_nFilterCode0;
int m_nFilterCode1;
int m_nFilterCode2;
int m_nFilterCode3;
int m_nFilterMask0;
int m_nFilterMask1;
int m_nFilterMask2;
int m_nFilterMask3;
LONG m_nCount;
static ULONG m_nIndex;
static ULONG m_nPreIndex;
static CListBox* m_lstDisplay;
static CStatic* m_lbBufferIndex;
static PVOID m_pData;
static int m_nBufferSize;
HANDLE m_pListenThread;
static BOOL m_bKillListenThread;
static HANDLE m_hKillListenThread;
static HANDLE m_hListenEvent;
static DWORD WINAPI ListenThreadProc(PVOID pContext);
static LONG ListenEventHandler(WORD wPort);
HANDLE m_pCountingThread;
static BOOL m_bKillCountingThread;
static HANDLE m_hKillCountingThread;
static HANDLE m_hCountingEvent;
static DWORD WINAPI CountingThreadProc(PVOID pContext);
static LONG CountingEventHandler(WORD wPort);
LONG CreateThreadHandling(WORD wPort);
LONG CloseThreadHandling(WORD wPort);
public:
// Dialog Data
//{{AFX_DATA(CCANRecvDlg)
enum { IDD = IDD_CANRECV_DIALOG };
int m_nDevNum;
CString m_sBufferIndex;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCANRecvDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CCANRecvDlg)
virtual BOOL OnInitDialog();
afx_msg void OnInitBtn();
afx_msg void OnClearCountBtn();
afx_msg void OnClose();
afx_msg void OnClearListBtn();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CANRECVDLG_H__56AEBC6B_70D3_420A_9883_83587638A5BF__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -