求指导:
cc2530ADC以3.3v为基准电压单次采样,如何处理寄存器ADCH和ADCL采集的数据,
value = ADCL>>4;
value |= (((uint)ADCH) << 4);
这样对吗?还有再对value如何处理得到实际的电压值呢?
gaoyang9992006:
你要看是左对齐还是右对齐,另外看你采用多少位。如果是12位精度,另外如果是左对齐,那么,你所写的就是正确的。这个如果不好理解就画图,很容易看懂的。
第二个问题,根据你选择的精度,然后就有个测量数字量的范围,这个范围的最大值就是3.3,然后你就按照比例换算就行了。
xingxing chen1:
回复 gaoyang9992006:
这个分左对齐和右对齐?如果12位精度,左对齐和右对齐的结果岂不差别很大,还有就你所说的计算方法
value = ADCL >> 4; value |= (((unsigned int)ADCH) << 4); return (value*3.3)/4096;
以3.3v为基准电压,12位的最大测量范围为0-4095,这样计算实际电压值对吗,实际是不对的。
麻烦解释一下。