⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vsbq.h

📁 一个很好的虚拟示波器!可一直接运行!他通过串口采集信号与系统单片机上的数据
💻 H
字号:
// Vsbq.h : main header file for the VSBQ application
//

#if !defined(AFX_VSBQ_H__896C33CF_A1DA_42F6_A2A7_9D6645525AC2__INCLUDED_)
#define AFX_VSBQ_H__896C33CF_A1DA_42F6_A2A7_9D6645525AC2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SerialPort.h" 

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h"       // main symbols
#define UN_READ_COM         (WM_USER + 101)       // COM读取数据消息宏
#define UN_INITPORT_COM     (WM_USER + 102)       // 初始化串口消息
#define UN_CLOSEPORT_COM    (WM_USER + 103)       // 关闭串口消息 
#define UN_SENDDATA         (WM_USER + 104)       // COM发送消息
#define UM_WAVETIME         (WM_USER + 105)       // 画图(包括示波器)消息
#define UM_STOPWAVETIME     (WM_USER + 106)       // 停止画图消息

#define UM_SHOEMESSAGE      (WM_USER + 201)       // 电压、频率等显示的值
#define UM_MYKILLTIMER      (WM_USER + 202)       // 控制(关闭)定时器消息
#define UM_MYSETTIMER       (WM_USER + 203)       // 控制(打开)定时器消息
#define UM_SETBUTTON        (WM_USER + 204)       // 控制按钮消息
#define UM_MYPRINTF         (WM_USER + 205)       // 打印消息

#define MY_POINT  1000                          // 所画图形的点的个数 
//#define MYTIMER   400                            // 数据采集的时间间隔
/////////////////////////////////////////////////////////////////////////////
// CVsbqApp:
// See Vsbq.cpp for the implementation of this class
//

class CVsbqApp : public CWinApp
{
public:
	CVsbqApp();

public:
	HWND m_hwndMainFrame;        // 主框架窗口句柄
	HWND m_Vsbqview;             // 主视图句柄        
	HWND m_hWndLeftView;         // 数值显示对话框句柄
	HWND m_hWndBtmView;          // 控制对话框句柄
	BOOL m_bnoniusx;             // 是否画X轴上的游标
	BOOL m_bnoniusy;             // 是否画Y轴上的游标
	BOOL m_bIsochronous1;        // 是否进行同步触发(CH1,TRUE为同步触发)
	BOOL m_bIsochronous2;        // 是否进行同步触发(CH2,TRUE为同步触发)
	BOOL m_bPrintFlage;          // 是否正在打印标志(TRUE为正在打印)
	
	int flage;
	CString m_mtstr;

	int m_nTimer;                // 时基(当前一频图象的点数)
	int m_myNewTimer;            // 屏幕刷新频率(时间间隔)

public:
	DWORD    m_numW;             // 数据长度
	BYTE     m_buffW[2048];      // 数据缓冲区
	float    m_valSigData[256];  // 波形数据
	CString  m_strVoleteVal1;    // CH1通道电压每格幅值
	CString  m_strVoleteVal2;    // CH2通道电压每格幅值
	CString  m_strVolete1;       // 示波器上显示当前每格(CH1)的数据幅度值
	CString  m_strVolete2;       // 示波器上显示当前每格(CH2)的数据幅度值
	float    m_fVoleteVal1;      // CH1通道电压每格幅值
	float    m_fVoleteVal2;      // CH2通道电压每格幅值
	float    m_numVoleteCh1;     // CH1通道电压值
	float    m_numVoleteCh2;     // CH2通道电压值
	float    m_nAverageCH1;      // CH1通道平均值
	float    m_nAverageCH2;      // CH2通道平均值
	float    m_sSampleSpeed;     // 当前的采样率()
	CString  m_strSampleSpeed;   // 当前的采样率(用于串口传输)
	CString  m_strSampleShow;    // 当前的采样率(用于界面显示)
    CString  m_strModeApp;       // 当前的通信模式

	int      m_aryReceDat[4096];  // 接受数据缓冲区  
	int      m_aryLeftDat[2048];  // 左通道的数据 
	int      m_aryRightDat[2048]; // 右通道的数据 
	UINT     m_valRecLen;	      // 接受数据长度

	int      m_myTime;            // 自定义采样频率
	int      m_count;             // 缓冲区变量
	int      m_nChannelLeft;      // 控制左通道上下移动的变量
	int      m_nChannelRight;     // 控制右通道上下移动的变量
	int      m_mySample;          // 采样率细调变量

	BOOL	 m_bLeftBtn;          // 标志是否移动CH1的波形
	BOOL     m_bRightBtn;         // 标志是否移动CH2的波形
	BOOL     m_bWavePlay;         // 标志是否正在画示波器中的波形(TRUE为正在画)	
	BOOL     m_bOscilShow;        // 标志是否正在画示波器(TRUE为正在画)
	BOOL     m_bStartupStop;      // 启动、停止按钮标志(TRUE为启动)
	BOOL     m_bStartPause;       // 开始、暂停按钮标志(TRUE为开始)
	BOOL     m_bOpebFlage;        // 表示波形是否在打开状态(TRUE为打开状态)
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CVsbqApp)
	public:
	virtual BOOL InitInstance();
	//}}AFX_VIRTUAL
	
	CSerialPort  m_objComm; 
// Implementation
	//{{AFX_MSG(CVsbqApp)
	afx_msg void OnAppAbout();
		// 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 Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_VSBQ_H__896C33CF_A1DA_42F6_A2A7_9D6645525AC2__INCLUDED_)

⌨️ 快捷键说明

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