?? simulationdoc.h
字號:
// SimulationDoc.h : interface of the CSimulationDoc class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_SIMULATIONDOC_H__4F08F84C_BED3_46B3_A068_C759467159F8__INCLUDED_)
#define AFX_SIMULATIONDOC_H__4F08F84C_BED3_46B3_A068_C759467159F8__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#define BASE_ADDRESS 0x1000h
#define STATE_ADDRESS BASE_ADDRESS+1
#define READ_ADDRESS BASE_ADDRESS+2
#define WRITE_ADDRESS BASE_ADDRESS+3
#define BUFFERREAD_LEN 4000
#define BUFFERSHOW_LEN 800
class CSimulationDoc : public CDocument
{
protected: // create from serialization only
CSimulationDoc();
DECLARE_DYNCREATE(CSimulationDoc)
// Attributes
public:
unsigned short* m_pSRData; // 指向原始剪力數據的指針
unsigned short* m_pWTData; // 指向原始重力數據的指針
int* m_pCOData; // 指向原始合力數據的指針
long m_SRDataLen; // 原始剪力數據長度
long m_WTDataLen; // 原始重力數據長度
long m_CODataLen; // 原始合力數據長度
int m_SRMaxValue; // 原始剪力數據中的最大值
int m_SRMinValue; // 原始剪力數據中的最小值
int m_WTMaxValue; // 原始重力數據中的最大值
int m_WTMinValue; // 原始重力數據中的最小值
int m_COMaxValue; // 原始合力數據中的最大值
int m_COMinValue; // 原始合力數據中的最小值
int m_Interval; // 顯示數據的采樣頻率
unsigned short* m_pSRShow; // 保存要顯示的剪力數據
unsigned short* m_pWTShow; // 保存要顯示的重力數據
int* m_pCOShow; // 保存要顯示的合力數據
unsigned short* m_pSimuSRData; // 指向模擬的剪力數據的指針
unsigned short* m_pSimuWTData; // 指向模擬的重力數據的指針
int* m_pSimuCOData; // 指向模擬的合力數據的指針
long m_SRSimuDataLen; // 模擬的剪力數據的長度
long m_WTSimuDataLen; // 模擬的重力數據的長度
long m_COSimuDataLen; // 模擬的合力數據的長度
int m_SRSimuMaxValue; // 模擬的剪力數據中的最大值
int m_WTSimuMaxValue; // 模擬的重力數據中的最大值
int m_COSimuMaxValue; // 模擬的合力數據中的最大值
int m_GroupData[6]; // 用于保存用戶輸入的動態編組數據
unsigned short m_ReadSRBuffer[BUFFERREAD_LEN]; //讀重力數據緩沖區
unsigned short m_ReadWTBuffer[BUFFERREAD_LEN]; //讀剪力數據緩沖區
unsigned short m_ShowSRBuffer[BUFFERSHOW_LEN]; //顯示重力數據緩沖區
unsigned short m_ShowWTBuffer[BUFFERSHOW_LEN]; //顯示剪力數據緩沖區
int m_ShowCOBuffer[BUFFERSHOW_LEN]; //顯示合力數據緩沖區
int m_ReadSRLen; //已讀取的重力數據的長度
int m_ReadWTLen; //已讀取的剪力數據的長度
long m_UpPoints[50]; //保存合力數據中的上跳點
long m_DownPoints[50]; //保存合力數據中的下跳點
int m_LenUpPoints; //保存合力數據中的上跳點數
int m_LenDownPoints; //保存合力數據中的下跳點數
// Operations
public:
// 根據文件名從文件中讀取原始數據,并返回讀取的數據指針和數據長度
unsigned short* ReadDataFromFile(long* pDataLen, CString strFileName);
// 從數據中獲取最大值
int GetMaxValue(int* pData,long DataLen);
int GetMaxValue(unsigned short* pData,long DataLen);
// 根據原始剪力和重力數據產生合力數據
BOOL GetCOData();
//數組排序
void Sort(unsigned short* pData,long len);
//窗口大小為5的中值濾波
void MidValueFilter5(unsigned short* pData,long len);
//窗口大小為任意奇數的平滑濾波
void SmoothFilter(unsigned short* pData,long len,int window);
void SmoothFilter(int* pData,long len,int window);
// 根據間隔大小從原始數據中提取要顯示的數據
unsigned short* GetShowData(unsigned short* pData,long len);
int* GetShowData(int* pData,long len);
//按一定的間隔從采集數據緩沖區中提取數據到顯示數據緩沖區
void GetShowDataFromBuffer();
//根據動態分組和標準數據產生模擬數據
void GenerateSimuData();
//將生成的模擬數據傳送給模擬信號發生板,產生模擬信號
void DAConvertion();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSimulationDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CSimulationDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CSimulationDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SIMULATIONDOC_H__4F08F84C_BED3_46B3_A068_C759467159F8__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -