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

📄 dsomaindlg.cpp

📁 最新的USB示波器源码?可直接编译生成可执行程序,需要硬件支持
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// DSOMainDlg.cpp : implementation file
//

#include "stdafx.h"
#include "DSOTEST.h"
#include "DSOMainDlg.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDSOMainDlg dialog
#define TRIGGER_AUTO   0x01
#define TRIGGER_NORMAL 0x02
#define TRIGGER_SIGNLE 0x03
#define TRIGGER_SOURCE_CHA 0x04
#define TRIGGER_SOURCE_CHB 0x05
#define TRIGGER_SOURCE_EXT 0x06
#define TRIGGER_SOURCE_EXT_5 0x07
#define TRIGGER_COUPLINE_DC 0x08
#define TRIGGER_COUPLINE_AC 0x09
#define TRIGGER_COUPLINE_LF 0x0a
#define TRIGGER_COUPLINE_HF 0x0b
#define TRIGGER_EGDE        0x0c
#define TRIGGER_VIDEO_      0x0d
#define TRIGGER_PLUS        0x0e
#define TRIGGER_EGDE_P      0x0f
#define TRIGGER_EGDE_N      0x10
#define TRIGGER_VIDEO_TV_H  0x11
#define TRIGGER_VIDEO_TV_V  0x12

#define FREQ_SEL_50M        0x13
#define FREQ_SEL_100M       0x14
#define FREQ_SEL_250M       0x15

#define AD9513_S0_CTL_P     0x16
#define AD9513_S0_CTL_N     0x17
#define AD9513_SYNCB_P      0x18
#define AD9513_SYNCB_N      0x19
#define CHA_BW_NOLIMIT      0x1A
#define CHA_BW_ISLIMIT      0x1B
#define CHB_BW_NOLIMIT      0x1C
#define CHB_BW_ISLIMIT      0x1D
#define CHA_CTL_P           0x1E
#define CHA_CTL_N           0x1F
#define CHB_CTL_P           0x20
#define CHB_CTL_N           0x21
#define CHA_PDWN_P          0x22
#define CHA_PDWN_N          0x23
#define CHB_PDWN_P          0x24
#define CHB_PDWN_N          0x25

#define TRIG_SEL_INT        0x26
#define TRIG_SEL_EXT        0x27
#define TRIG_SEL_VIDEO      0x28
#define TRG_SEL_PLUS        0x29
#define VIDEO_TRG_FIELD1    0x2a
#define VIDEO_TRG_FIELD2    0x2b
#define VIDEO_TRG_LINE_NR   0x2c
#define VIDEO_TRG_ALL_LINE  0x2d

#define PLUSE_TRG_AEB       0x2f
#define PLUSE_TRG_ANEB      0x30
#define PLUSE_TRG_AGB       0x31
#define PLUSE_TRG_ALB       0x32
#define PLUSE_SLOPE_P       0x33
#define PLUSE_SLOPE_N       0x34


#define CMD_A  0x41
#define CMD_C  0x43
#define CMD_F  0x46
#define CMD_L  0x4c
#define CMD_M  0x4d
#define CMD_I  0x49

#define CMD_P  0x50
#define CMD_R  0x52
#define CMD_S  0x53
#define CMD_T  0x54
#define CMD_CTL_CHX 0x56
#define CMD_VIDEO_TRG 0x57
#define CMD_PLUSE_TRG 0x58

#define PD   0x2000
#define LDAC 0x1000
#define COMM_NUMBER 8


extern CH_PARAM cha_param;
extern CH_PARAM chb_param;
extern MATH_OPERATION math_operation;
extern RUNNING_CONTROL run_ctrl;
extern TIME_BASE time_base;
extern TRIGGER trigger;
extern TRIGGER_VIDEO trigger_video;
extern ACQUIRE acquire;
extern DISPLAY display;
BYTE coupline_reg;

BYTE ord[COMM_NUMBER];
extern BYTE txbuffer[COMM_NUMBER];

CDSOMainDlg::CDSOMainDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDSOMainDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDSOMainDlg)
	m_com_str = _T("");
	m_lines = 0;
	m_pluse_mes = _T("1ms");
	//}}AFX_DATA_INIT
	 isChaON=true;
	 isChbON=false;
	 m_trige_type=0;
	 isChaDW=false;
	 isChbDW=false;
	 isChaInv=false;
	 isChaInv=false;
	 cha_probe=10;
     chb_probe=10;
	 isRun=false;
	 rec_flag=false;
	 coupline_reg=0;
	 video_lines=1;
	 pluse_time=1000000;//ns =1ms
	 time_uint=0;

}


void CDSOMainDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDSOMainDlg)
	DDX_Control(pDX, IDC_PLUSE_TIME_DOWN, m_pluse_time_down_but);
	DDX_Control(pDX, IDC_PLUSE_TIME_UP, m_pluse_time_up_but);
	DDX_Control(pDX, IDC_PLUSE_TIME_SETUP, m_pluse_time_setup_but);
	DDX_Control(pDX, IDC_PLUSE_MES, m_pluse_mes_ctl);
	DDX_Control(pDX, IDC_STATIC_VIDEO_TYPE, m_video_type);
	DDX_Control(pDX, IDC_STATIC_LEVEL, m_level_ctl);
	DDX_Control(pDX, IDC_STATIC_LINE_NR, m_lineNr_ctl);
	DDX_Control(pDX, IDC_STATIC_ALL_LINES, m_alllines_ctl);
	DDX_Control(pDX, IDC_STATIC_FIELD2, m_field2_ctl);
	DDX_Control(pDX, IDC_STATIC_FIELD1, m_field1_ctl);
	DDX_Control(pDX, IDC_STATIC_SECAM, m_secam_ctl);
	DDX_Control(pDX, IDC_STATIC_NTSC, m_ntsc_ctl);
	DDX_Control(pDX, IDC_STATIC_PAL, m_pal_ctl);
	DDX_Control(pDX, IDC_LINES_SEL, m_linesSel_ctl);
	DDX_Control(pDX, IDC_LINES, m_lines_ctl);
	DDX_Control(pDX, IDC_VIDEO_SEL, m_video_trg_ctl);
	DDX_Control(pDX, IDC_TV_MODE, m_tvmode_ctl);
	DDX_Control(pDX, IDC_SLOPE_SEL, m_slope_ctl);
	DDX_Control(pDX, IDC_CHA_OFFSET, m_cha_offset_ctl);
	DDX_Control(pDX, IDC_EDIT_MES, m_mes_ctrl);
	DDX_Control(pDX, IDC_SLIDER_MEMORY, m_memory_offset_ctrl);
	DDX_Control(pDX, IDC_TRIG_SITE, m_trigSit_ctrl);
	DDX_Control(pDX, IDC_TRIG_LEVEL, m_trig_level_ctrl);
	DDX_Control(pDX, IDC_CHB_INV, m_chb_inv_but);
	DDX_Control(pDX, IDC_CHA_INV, m_cha_inv_but);
	DDX_Control(pDX, IDC_CHB_DW, m_chb_dw_but);
	DDX_Control(pDX, IDC_CHA_DW, m_cha_dw_but);
	DDX_Control(pDX, IDC_TRIG_TYPE, m_trig_type_but);
	DDX_Control(pDX, IDC_TRIG_COUPLINE, m_trig_coupline_but);
	DDX_Control(pDX, IDC_TRIG_MODE, m_trig_mode_but);
	DDX_Control(pDX, IDC_CHB_COUPLINE, m_chb_coupline_but);
	DDX_Control(pDX, IDC_CHA_COUPLINE, m_cha_coupline_but);
	DDX_Control(pDX, IDC_CHB_1X, m_chb_1x_but);
	DDX_Control(pDX, IDC_CHB_10X, m_chb_10x_but);
	DDX_Control(pDX, IDC_CHB_100X, m_chb_100x_but);
	DDX_Control(pDX, IDC_CHA_100X, m_cha_100x_but);
	DDX_Control(pDX, IDC_CHA_10X, m_cha_10x_but);
	DDX_Control(pDX, IDC_CHA_1X, m_cha_1x_but);
	DDX_Control(pDX, IDC_CRUSOR, m_crusor_but);
	DDX_Control(pDX, IDC_CHB_ON, m_chb_on_but);
	DDX_Control(pDX, IDC_CHA_ON, m_cha_on_but);
	DDX_Control(pDX, IDC_TRIG_SOURCE_SELECT, m_TrigSource_but);
	DDX_Control(pDX, IDC_TIRG_LEVEL_RESET, m_trig_level_reset_but);
	DDX_Control(pDX, IDC_XY, m_xy_but);
	DDX_Control(pDX, IDC_FFT, m_fft_but);
	DDX_Control(pDX, IDC_SINGLE, m_single_but);
	DDX_Control(pDX, IDC_NORAML, m_normal_but);
	DDX_Control(pDX, IDC_TIRG_FORCE, m_trig_force_but);
	DDX_Control(pDX, IDC_TIRG_EDGE_UP, m_trig_up_but);
	DDX_Control(pDX, IDC_TIRG_EDGE_DOWN, m_trig_down_but);
	DDX_Control(pDX, IDC_TIRG_CLK_WIDTH, m_trig_clk_width_but);
	DDX_Control(pDX, IDC_LOAD, m_load_but);
	DDX_Control(pDX, IDC_SAVE, m_save_but);
	DDX_Control(pDX, IDC_AUTO, m_auto_but);
	DDX_Control(pDX, IDCANCEL, m_off_but);
	DDX_Control(pDX, IDC_RUN_STOP, m_run_stop_but);
	DDX_Control(pDX, IDC_CHBDB_CTRL, m_chbdbCtl);
	DDX_Control(pDX, IDC_CHADB_CTRL, m_chadbCtl);
	DDX_Control(pDX, IDC_GRAPH_DSO, m_displayWnd);
	DDX_Control(pDX, IDC_TIME_CTRL, m_Time_Ctrl);
	DDX_Control(pDX, IDC_MSCOMM, m_ComPort);
	DDX_Text(pDX, IDC_MES_EDIT, m_com_str);
	DDX_Text(pDX, IDC_LINES, m_lines);
	DDV_MinMaxInt(pDX, m_lines, 1, 625);
	DDX_Text(pDX, IDC_PLUSE_MES, m_pluse_mes);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDSOMainDlg, CDialog)
	//{{AFX_MSG_MAP(CDSOMainDlg)
	ON_BN_CLICKED(IDC_TIRG_EDGE_UP, OnTirgEdgeUp)
	ON_BN_CLICKED(IDC_TIRG_EDGE_DOWN, OnTirgEdgeDown)
	ON_BN_CLICKED(IDC_TIRG_CLK_WIDTH, OnTirgClkWidth)
	ON_BN_CLICKED(IDC_CHA_ON, OnChaOn)
	ON_BN_CLICKED(IDC_CHB_ON, OnChbOn)
	ON_BN_CLICKED(IDC_CRUSOR, OnCrusor)
	ON_BN_CLICKED(IDC_TIME_CTRL, OnTimeCtrl)
	ON_BN_CLICKED(IDC_CHADB_CTRL, OnChadbCtrl)
	ON_BN_CLICKED(IDC_CHBDB_CTRL, OnChbdbCtrl)
	ON_BN_CLICKED(IDC_CHA_X1, OnChaX1)
	ON_BN_CLICKED(IDC_CHA_10X, OnCha10x)
	ON_BN_CLICKED(IDC_CHA_100X, OnCha100x)
	ON_BN_CLICKED(IDC_CHB_1X, OnChb1x)
	ON_BN_CLICKED(IDC_CHB_10X, OnChb10x)
	ON_BN_CLICKED(IDC_CHB_100X, OnChb100x)
	ON_BN_CLICKED(IDC_TRIG_TYPE, OnTrigType)
	ON_BN_CLICKED(IDC_CHA_DW, OnChaDw)
	ON_BN_CLICKED(IDC_CHB_DW, OnChbDw)
	ON_BN_CLICKED(IDC_CHA_INV, OnChaInv)
	ON_BN_CLICKED(IDC_CHB_INV, OnChbInv)
	ON_WM_VSCROLL()
	ON_BN_CLICKED(IDC_TRIG_MODE, OnTrigMode)
	ON_BN_CLICKED(IDC_TRIG_SOURCE_SELECT, OnTrigSourceSelect)
	ON_BN_CLICKED(IDC_TRIG_COUPLINE, OnTrigCoupline)
	ON_BN_CLICKED(IDC_CHA_COUPLINE, OnChaCoupline)
	ON_BN_CLICKED(IDC_CHB_COUPLINE, OnChbCoupline)
	ON_WM_HSCROLL()
	ON_BN_CLICKED(IDC_RUN_STOP, OnRunStop)
	ON_BN_CLICKED(IDC_SAVE, OnSave)
	ON_BN_CLICKED(IDC_LOAD, OnLoad)
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_DOWNLOAD, OnDownload)
	ON_BN_CLICKED(IDC_PLAY, OnPlay)
	ON_BN_CLICKED(IDC_BACK, OnBack)
	ON_BN_CLICKED(IDC_NEXT, OnNext)
	ON_BN_CLICKED(IDC_SLOPE_SEL, OnSlopeSel)
	ON_BN_CLICKED(IDC_TV_MODE, OnTvMode)
	ON_BN_CLICKED(IDC_VIDEO_SEL, OnVideoSel)
	ON_BN_CLICKED(IDC_PLUSE_TIME_UP, OnPluseTimeUp)
	ON_BN_CLICKED(IDC_PLUSE_TIME_DOWN, OnPluseTimeDown)
	ON_BN_CLICKED(IDC_PLUSE_TIME_SETUP, OnPluseTimeSetup)
	ON_BN_CLICKED(IDC_SINGLE, OnSingle)
	ON_BN_CLICKED(IDC_XY, OnXy)
	ON_BN_CLICKED(IDC_NORAML, OnNoraml)
	ON_COMMAND(IDM_SHILIANG_DISP, OnShiliangDisp)
	ON_UPDATE_COMMAND_UI(IDM_SHILIANG_DISP, OnUpdateShiliangDisp)
	ON_COMMAND(IDM_NORMAL_CAIJI, OnNormalCaiji)
	ON_UPDATE_COMMAND_UI(IDM_NORMAL_CAIJI, OnUpdateNormalCaiji)
	ON_COMMAND(IDM_AVERGE_CAIJI, OnAvergeCaiji)
	ON_UPDATE_COMMAND_UI(IDM_AVERGE_CAIJI, OnUpdateAvergeCaiji)
	ON_COMMAND(IDM_GLITCHES_DETECT, OnGlitchesDetect)
	ON_UPDATE_COMMAND_UI(IDM_GLITCHES_DETECT, OnUpdateGlitchesDetect)
	ON_COMMAND(IDM_GRAP_BAOCHI, OnGrapBaochi)
	ON_UPDATE_COMMAND_UI(IDM_GRAP_BAOCHI, OnUpdateGrapBaochi)
	ON_BN_CLICKED(IDC_FFT, OnFft)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDSOMainDlg message handlers

BOOL CDSOMainDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	

   	m_trig_level_ctrl.SetRange(0,255,1);
    m_trig_level_ctrl.SetPos(128);
    
	m_cha_offset_ctl.SetRange(0,310,1); //size=0.5v*1024/3.3V
    m_cha_offset_ctl.SetPos(155);
	

	m_trigSit_ctrl.SetRange(1,SAMPLE_DEPTH/2-1,1);
	m_trigSit_ctrl.SetPos(SAMPLE_DEPTH/4);

    m_memory_offset_ctrl.SetRange(0,SAMPLE_DEPTH-DISWIDTH,5);
	m_memory_offset_ctrl.SetPos((SAMPLE_DEPTH-DISWIDTH)/2);


	m_Time_Ctrl.SetSwitchNumber (29);
	
	m_Time_Ctrl.SetStartSwitch(0);
	m_Time_Ctrl.SetTextColor (RGB(0,0,0));
//	m_Time_Ctrl.SetBKColor(RGB(200,200,200));
    m_Time_Ctrl.SetDisString ("10s + + 1s + + 0.1s + + 10ms + + 1ms + + 0.1ms + + 10us + + 1us + 200ns + + 20 + 5ns");// + + 10ns");
	m_Time_Ctrl.SetSwitchName("Time/Div        ");
	//	m_ch2TimeCtl.SetSwitchNumber (5);
	//	m_ch2TimeCtl.SetDisString (" 0.1us 0.2us 0.3us 0.4us 0.5us  ");
	//	m_ch2TimeCtl.SetSwitchName("时间常数");
	//	m_ch2TimeCtl.SetStartSwitch(2);
	//  m_RoundCtrl.SetBKColor (RGB(51,102,153));
	//	m_ch2TimeCtl.SetTextColor (RGB(255,0,0));
	//  m_RoundCtrl.SetLineColor (RGB(255,255,255));

	m_chadbCtl.SetSwitchNumber (13);
	//m_FT_comb.SetWindowText("5M");
	//	10V/Div   5X10V=50V    -->衰减100倍=500mV  500/500=1 放大系数 1dB
	//	5V/Div    5X5V=25V     -->衰减100倍=250mV  500/250=2 放大系数 2dB
    //	2V/Div    5X2V=10V     -->衰减100倍=100mV  500/100=5 放大系数 5dB
    //	1V/Div    5X1v=5V      -->衰减100倍=50mV   500/50=10 -------->10dB
	//	0.5V/Div  5X0.5V=2.5V  -->衰减100倍=25mV   500/25=20 -------->20dB
	//	0.2V/Div  5X0.2V=1V    -->衰减100倍=10mV   500/10=50 ------->50dB
	//	0.1V/Div  5X0.1V=500mV                     500/500=1 ------->1dB
	//	50mV/Div  5X50mV=250mV                     500/250=2 ------->2dB 
    //	20mV/Div  5X20mV=100mV                     500/100=5 ------->5dB
	//	10mV/Div  5X10mV=50mV                      500/50=10 ------->10dB
	//	5mV/Div   5X5mV=25mV                       500/25=20 ------->20dB
	
	m_chadbCtl.SetDisString ("500V 200 100 50 20 10 5 2 1V 500mV 200 100 50mV");
	m_chadbCtl.SetSwitchName("CHA Volts / Div");
//	m_chadbCtl.SetTextColor (RGB(0,0,255));	
	m_chadbCtl.SetStartSwitch(0);
	

	m_chbdbCtl.SetSwitchNumber (13);
	m_chbdbCtl.SetDisString ("500V 200 100 50 20 10 5 2 1V 500mV 200 100 50mV");
	m_chbdbCtl.SetSwitchName("CHB Volts / Div");
//	m_chbdbCtl.SetTextColor (RGB(0,0,255));	
	m_chbdbCtl.SetStartSwitch(0);



    m_crusor_but.SetIcon(IDI_CRUSOR_OFF);
	m_cha_on_but.SetIcon(IDI_CHA_ON_G);
	m_chb_on_but.SetIcon(IDI_CHA_ON_B);
	m_off_but.SetIcon(IDI_POWER);

	m_trig_up_but.SetIcon(IDI_UP_G);
	m_trig_down_but.SetIcon(IDI_DOWN_B);
	m_trig_clk_width_but.SetIcon(IDI_CLK_WIDTH_B);
    
	m_TrigSource_but.SetSwitchNumber(4);
	m_trig_type_but.SetSwitchNumber(3);
	m_trig_coupline_but.SetSwitchNumber(4);
	m_trig_mode_but.SetSwitchNumber(3);
   
    m_cha_coupline_but.SetSwitchNumber(3);
    m_chb_coupline_but.SetSwitchNumber(3);

	m_chb_dw_but.SetIcon(IDI_DW_B);
	m_cha_dw_but.SetIcon(IDI_DW_B);
	
	m_cha_inv_but.SetIcon(IDI_INV_B);
    m_chb_inv_but.SetIcon(IDI_INV_B);
  
    m_cha_10x_but.SetCheck(1);
    m_chb_10x_but.SetCheck(1);


	m_tvmode_ctl.SetSwitchNumber(3);
	m_video_trg_ctl.SetSwitchNumber(4);


     m_linesSel_ctl.SetBuddy(&m_lines_ctl); 
	 m_linesSel_ctl.SetRange(1,625);   
     m_linesSel_ctl.SetPos(1);   

  
   ::GetWindowRect (m_chadbCtl,&cha_dbCtrl_rect);
   ::GetWindowRect (m_chbdbCtl,&chb_dbCtrl_rect);
   
   cha_dbCtrl_rect.right+=30;
   chb_dbCtrl_rect.right+=30;
   
   for(int i=0;i<COMM_NUMBER;i++)
	   ord[i]=0;
#ifdef COMM_PORT
     int c=SAMPLE_DEPTH*3;
       m_ComPort.SetCommPort(3);  //选择串行端口
	   m_ComPort.SetPortOpen(TRUE);   
	   m_ComPort.SetSettings("57600,n,8,1");  
	   m_ComPort.SetInputMode(1);
	   m_ComPort.SetRThreshold(c);//12
	   m_ComPort.SetInputLen(0);
	   m_ComPort.GetInput();
#endif

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}




void CDSOMainDlg::OnTirgEdgeUp() 
{   ord[0]='C';

	if(m_trige_type==0)
	{  
		trigger.slope =0;
		ord[1]=TRIGGER_EGDE_P;

		m_trig_up_but.SetIcon(IDI_UP_G);
		m_trig_down_but.SetIcon(IDI_DOWN_B);
	}
	else
	{  trigger_video.sync=0;
		ord[1]=TRIGGER_VIDEO_TV_H;

	    m_trig_up_but.SetIcon(IDI_VIDEO_TH_G);
		m_trig_down_but.SetIcon(IDI_VIDEO_TV_B);
	}
  SendCommandToUSB(VR_USRCMD);
  m_displayWnd.ReDrawSCreen();


}

void CDSOMainDlg::OnTirgEdgeDown() 
{ 
	ord[0]='C';
	if(m_trige_type==0)
	{trigger.slope =0;
	  ord[1]=TRIGGER_EGDE_N;
      m_trig_up_but.SetIcon(IDI_UP_B);
	    m_trig_down_but.SetIcon(IDI_DOWN_G);
	}
	else
	{trigger_video.sync=1;
	  ord[1]=TRIGGER_VIDEO_TV_V;
	  m_trig_up_but.SetIcon(IDI_VIDEO_TH_B);
  	   m_trig_down_but.SetIcon(IDI_VIDEO_TV_G);
	}
	  SendCommandToUSB(VR_USRCMD);
  m_displayWnd.ReDrawSCreen();
}

void CDSOMainDlg::OnTirgClkWidth() 
{
  //  m_trig_up_but.SetIcon(IDI_UP_B);
//	m_trig_down_but.SetIcon(IDI_DOWN_B);
//	m_trig_clk_width_but.SetIcon(IDI_CLK_WIDTH_G);
}

void CDSOMainDlg::OnChaOn() 
{
   
   cha_param.display=!cha_param.display;
  // ord[0]='C';

   if(cha_param.display){
   
 // ord[1]=CHA_PDWN_N;
   m_cha_on_but.SetIcon(IDI_CHA_ON_G);
   }
   else{
  //  ord[1]=CHA_PDWN_P;
      m_cha_on_but.SetIcon(IDI_CHA_ON_B);
   }
 // SendCommandToUSB(VR_USRCMD);
    m_displayWnd.ReDrawSCreen();

}

void CDSOMainDlg::OnChbOn() 
{
  chb_param.display=!chb_param.display;
  
  // ord[0]='C';
   if(chb_param.display){
  // ord[1]=CHB_PDWN_N;
	  m_chb_on_but.SetIcon(IDI_CHB_ON_Y);
	  }
   else{
   // ord[1]=CHB_PDWN_P;
      m_chb_on_but.SetIcon(IDI_CHA_ON_B);
	  }
  //  SendCommandToUSB(VR_USRCMD);
  m_displayWnd.ReDrawSCreen();
}

void CDSOMainDlg::OnCrusor() 
{
	static BYTE isCrusor;
	  isCrusor++;
	if(isCrusor>4)isCrusor=0;
	m_displayWnd.OpenScaleLine(isCrusor);
	switch (isCrusor)
	{case 0:
		 m_crusor_but.SetIcon(IDI_CRUSOR_OFF);
	  break;
	case 1:
	   m_crusor_but.SetIcon(IDI_TWO_V);
		break;
	case 2:
		m_crusor_but.SetIcon(IDI_TWO_H);
		break;
	case 3:
	 m_crusor_but.SetIcon(IDI_ONE_V);
		break;
	case 4:
	 m_crusor_but.SetIcon(IDI_ONE_H);
		break;
	}
}


//10s + + 1s + + 0.1s + + 10ms + + 1ms + + 0.1ms + + 10us + + 1us + + 0.1us + + 10ns


//constant F25Mhz  : std_logic_vector(15 downto 0) :=X"3ec8";
//constant F50Mhz  : std_logic_vector(15 downto 0) :=X"3cc8";
//constant F100Mhz : std_logic_vector(15 downto 0) :=X"3ac8";
//constant F125Mhz : std_logic_vector(15 downto 0) :=X"3afa";
//constant F200Mhz : std_logic_vector(15 downto 0) :=X"38c8"; --   //0x28c8
//constant F250Mhz : std_logic_vector(15 downto 0) :=X"38fa";--   //0x28fa
//constant F300Mhz : std_logic_vector(15 downto 0) :=X"392c";
/****************************** 采样控制 *******************
ord[1],ord[2] =SY89429频率控制字
ord[3],ord[4],ord[5]=低频采样分频系数
ord[6](0)=LOW_AD
ord[6](1)=En_trig_delay
***********************************************************/
const int step[]={2,4,10,20,40};
void CDSOMainDlg::OnTimeCtrl() 
{
  int i=m_Time_Ctrl.GetSelectSwitch();
  time_base.time_d =i;
  time_base.x_step=1;
  BYTE c;
  ord[0]=CMD_F;
  //ord[1]=0x3e;
  //ord[2]=0xc8;
  c=FREQ_SEL_50M;
  if(acquire.acquisition==0||acquire.acquisition==1)
    ord[6]=0x03;//低速采样 允许触发延时
  else
	ord[6]=0x07;//低速采样 允许触发延时 峰值采样  
  
   switch(i)
   {
   case 0:  //10s   1 pixel =10/50=0.2s 200ms    采样率50M/s 分频因  5000000-1=4999999 每个200ms采集并绘制一点 

⌨️ 快捷键说明

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