初级会员

- 积分
- 60
- 金钱
- 60
- 注册时间
- 2020-11-19
- 在线时间
- 7 小时
|
1金钱
想问问程序中的ldVlutage=(long double)ulResult*0.59604644775390625是什么意思,为什么要将采集的数据乘以0.59604644775390625
while(1)
{
ulResult=ADS1256ReadData();
if( ulResult & 0x800000 )
{
ulResult = ~(unsigned long)ulResult;
ulResult &= 0x7fffff;
ulResult += 1;
ulResult = -ulResult;
}
ldVolutage = (long double)ulResult*0.59604644775390625;
value=ldVolutage/1;
printf("%duV\r\n",value);
//printf("uV\r\n");
Delay(0x3fFFF); |
|
最佳答案
查看完整内容[请看2#楼]
满量程是参照电压的2倍。
2*2.5*1000000/8388607=0.59604651880818829634050087219487;
2倍 2.5参考 8388607十进制AD值(0-5V)多看手册,这个片子很多配置的。
|