kedobeast Publish time 2016-6-4 16:21:43

我在进行DSO-6074USB二次开发,有两个问题

你好,各位工程师。
我在进行DSO-6074USB二次开发,有两个问题

1 通过下面函数设置耦合 电压模式。为什么会失败。如果不是这样设置,请问是怎么设置的。在界面实时更换参数 ,类似官方程序
for(int i=0;i<MAX_CH_NUM;i++)
{

RelayControl.nCHCoupling = GND;
RelayControl.nCHVoltDIV = 1;
}
dsoHTSetSampleRate(m_nDeviceIndex,pAmpLevel,m_nYTFormat,&RelayControl,&m_stControl);//设置采样率

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

kedobeast Publish time 2016-6-5 15:26:10

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


Hantek_Zhang Publish time 2016-6-6 07:38:18

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

Hantek_Zhang Publish time 2016-6-6 07:48:14

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

kedobeast Publish time 2016-6-6 13:00:15

那第一个问题,请问我用那个函数设置测量的是交流 直流 接地那?

Hantek_Zhang Publish time 2016-6-6 14:57:03

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;
}
设置为交流

kedobeast Publish time 2016-6-13 22:58:02

Edited by kedobeast at 2016-6-15 16:04

11111111222222

Pages: [1]
View full version: 我在进行DSO-6074USB二次开发,有两个问题