Electronic Engineer Discuss

Title: 我在进行DSO-6074USB二次开发,有两个问题 [Print this page]

Author: kedobeast    Time: 2016-6-4 16:21
Title: 我在进行DSO-6074USB二次开发,有两个问题
你好,各位工程师。
我在进行DSO-6074USB二次开发,有两个问题

1 通过下面函数设置耦合 电压模式。为什么会失败。如果不是这样设置,请问是怎么设置的。在界面实时更换参数 ,类似官方程序
for(int i=0;i<MAX_CH_NUM;i++)
{
  
  RelayControl.nCHCoupling[i] = GND;
  RelayControl.nCHVoltDIV[i] = 1;
}
dsoHTSetSampleRate(m_nDeviceIndex,pAmpLevel,m_nYTFormat,&RelayControl,&m_stControl);//设置采样率

2  怎么查询当前电压的各个参数。例如最大值 有效值。是否有现成的api。


Author: kedobeast    Time: 2016-6-5 15:26
各位好,再补充个问题,
我在隔壁帖子里面看到版主提供的公式
实际电压值 = (数据 - (255 - 通道零电平)) x 8 x 电压档位/255
*(m_pSrcData[nCH]+i) = *(pData+i)-(MAX_DATA - m_nLeverPos[nCH]); 因为在hard里面已经进行了运算 所以在20mv的情况下
是不是 我可以理解成  实际电压值 = *(m_pSrcData[nCH]+i) *8*20 /255  mv
但是为什么通过这个运算出来的值和官方里面的差距很大。



Author: Hantek_Zhang    Time: 2016-6-6 07:38
您好!
1 RelayControl.nCHCoupling[i] = GND;这个是你自己改的吧?例程是RelayControl.nCHCoupling[i] = AC;而且RelayControl.nCHCoupling[i] = GND完全是软件功能;
2 电压的峰峰值、最大值、有效值没有直接的API,需要自己根据源数据进行计算

Author: Hantek_Zhang    Time: 2016-6-6 07:48
关于电压值计算,一个前提是示波器已经进行过零电平校准
*(m_pSrcData[nCH]+i) = *(pData+i)-(MAX_DATA - m_nLeverPos[nCH]);中*(m_pSrcData[nCH]+i)是什么数据类型?官方例程是unsighed short;
*(m_pSrcData[nCH]+i) *8*20 /255  如果你这样计算*(m_pSrcData[nCH]+i)不可以是无符号数


Author: kedobeast    Time: 2016-6-6 13:00
那第一个问题,请问我用那个函数设置测量的是交流 直流 接地那?

Author: Hantek_Zhang    Time: 2016-6-6 14:57
for(int i=0;i<MAX_CH_NUM;i++)
{
  
  RelayControl.nCHCoupling = DC;
  RelayControl.nCHVoltDIV = 1;
}
设置为直流
for(int i=0;i<MAX_CH_NUM;i++)
{
  
  RelayControl.nCHCoupling = AC;
  RelayControl.nCHVoltDIV = 1;
}
设置为交流


Author: kedobeast    Time: 2016-6-13 22:58
Edited by kedobeast at 2016-6-15 16:04

11111111222222






Welcome to Electronic Engineer Discuss (https://www.eediscuss.com/) Powered by Discuz! X3.2