This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc2530的ADC疑惑

求指导:

cc2530ADC以3.3v为基准电压单次采样,如何处理寄存器ADCH和ADCL采集的数据, 

   value = ADCL>>4;                      
   value |= (((uint)ADCH) << 4);

这样对吗?还有再对value如何处理得到实际的电压值呢?

  • 你要看是左对齐还是右对齐,另外看你采用多少位。
    如果是12位精度,另外如果是左对齐,那么,你所写的就是正确的。这个如果不好理解就画图,很容易看懂的。

    第二个问题,根据你选择的精度,然后就有个测量数字量的范围,这个范围的最大值就是3.3,然后你就按照比例换算就行了。

  • 这个分左对齐和右对齐?如果12位精度,左对齐和右对齐的结果岂不差别很大,还有就你所说的计算方法

        value = ADCL >> 4;
        value |= (((unsigned int)ADCH) << 4);
        return (value*3.3)/4096;

    以3.3v为基准电压,12位的最大测量范围为0-4095,这样计算实际电压值对吗,实际是不对的。

    麻烦解释一下。