📄 a808mdlg.h
字号:
// A808MDlg.h : header file
//
//{{AFX_INCLUDES()
#include "mscomm.h"
#include "HistogramCtrl.h"
#include "Scope.h"
//}}AFX_INCLUDES
#if !defined(AFX_A808MDLG_H__BA1F9565_09C6_415D_8E08_3601E35FBCC1__INCLUDED_)
#define AFX_A808MDLG_H__BA1F9565_09C6_415D_8E08_3601E35FBCC1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CA808MDlg dialog
const BYTE STX[1]={0x2}; //start
const BYTE ETX[1]={0x3}; //End
const BYTE EOT[1]={0x4}; //
const BYTE ENQ[1]={0x5}; //
const BYTE ACK[1]={0x6}; //OK
const BYTE NAK[1]={0x15}; //Error
const BYTE BUSY[1]={0x7}; //忙信号
class CA808MDlg : public CDialog
{
// Construction
public:
CA808MDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CA808MDlg)
enum { IDD = IDD_A808M_DIALOG };
CScope m_scope;
CMSComm m_ctrlComm; //通讯控件
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CA808MDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
public:
void InitCHistogramCtrl();
CString GetParamterFromCommand(CString field);
CString GetCommandFromParameter(CString field);
void strToData(CString& str);
void strTostr(CString& ton);
void DispCodeforSend(CByteArray& hexdata); //显示要发送的字节
void SendData(); //处理要发送的数据
void DisplayParameter(); //显示处理后的数据
void ProcessArray(CByteArray& btArray); //处理正常读参数时的正常返回数据,不正常时由OnTimer()处理
CByteArray m_pRxdatd; //收到的数据
int m_ParameterNumber; //参数个数
int up_down;
CFont font;
enum RxState //通讯口发送数据选择数据
{
MAIN_NUMBER, //平常的主通讯数据,如温度
LIST_PARAMETER, //读取参数表:一次读所有参数
SINGLE_PARAMETER, //读单参数:读取一个选择的参数
WRITE_PARAMETER, //写参数:分两类,一种是直接用+or-,另外是用第三类指令转到第四类指令
WRITE_FOUR_COMMAND //执行第四类指令
} ;
RxState m_rxstate; //分析当前状态
bool m_shortProcess; //当按下功能键时,前一个数的处理过程还未完成标志为T,完成即为F
CStringList* commandeName_parameter_list;
// Implementation
protected:
// CHistogramCtrl m_ctrlHistogram;
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CA808MDlg)
virtual BOOL OnInitDialog(); //初始化处理
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButtonOpenCom(); //打开通讯口按钮
afx_msg void OnOnCommMscomm1(); //接收到数据
afx_msg void OnButtonStartWork(); //开始工作按钮
afx_msg void OnTimer(UINT nIDEvent); //处理不正常数据
afx_msg void OnButtonReadParameter(); //读参娄数表
afx_msg void OnButtonWriteParameter(); //写参数
afx_msg void OnSelchangeComboParameter(); //参数选择改变
afx_msg void OnDeltaposSpinEditParameter(NMHDR* pNMHDR, LRESULT* pResult);
DECLARE_EVENTSINK_MAP()
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_A808MDLG_H__BA1F9565_09C6_415D_8E08_3601E35FBCC1__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -