2017-02-23 96 views
-2

我正在尝试从ADC(adc101c02)读取数据。通过I2C, 事情出错时,我尝试通过以下函数的斜率转换到毫瓦:ADC的值永远不会低于1mw

public double slopeToMw(double slope) 
{ 
double _result = 0; 
_result = slope/1024.0; 
_result = _result * 5.0; 
_result = _result/0.5; 
_result = _result * (100.0/0.75); 
_result = _result/1000000000.0; 
_result = Math.Pow(10.0, _result); 

//_result = Math.Pow(10, (((((slope)/1024) *5)/0.5) *(100/0.75))/1000000000) ; 


Debug.WriteLine("Milliwatts: " + _result); 

return _result; 
} 

我的问题是,产量不会低于1:读取ADC的文件并没有真正放弃我有很多关于我哪里出错的线索。

仅供参考: 当我应该测量-6,66 DBm(0.21577444092 mw)时,我从此函数返回1.000000007。

任何指针将理解

+0

这段代码没有任何关系到ADC,这只是一个纯粹的数学计算。 – Lundin

回答

0

结果是得到从ADC毫瓦正确量我不得不交换周围

_result = _result/1000000000.0;和 _result = Math.Pow(10.0,_result);

除以百万之前,你做一些权力网你一个非常小的数字。