我想用TI的MSP430测量功率器件的电压。电压源连接到目标板上的A1(即P4)和地(即P1)。使用TI的MSP430读取电压FF22x4
下面是相关代码:
ADC10CTL1 = INCH_1 + CONSEQ_0; //A1, single measurement
ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE + ADC10SR; //same as sample temperature sensor code
ADC10CTL1 &= ~ADC10DF; //setting binary format for ADC10MEM
ADC10CTL0 |= ENC + ADC10SC; //Sampling and conversion start
__bis_SR_register(CPUOFF + GIE); // LPM0 with interrupts enabled
//read result
我有以下问题:
我打印AP上的ADC10MEM内容,我看到ADC10MEM领先的6位都是1,而不是0.我无法得到相同的原因。
如果我只考虑ADC10MEM的最后10个比特,我可以看到,该值增加,并与上升和下降的电压下降,但如果我使用下式获得VIN:
N = 1023 *((Vin-VR-)/(VR + - VR-)),我没有得到正确的值。 (VR + = 1.5V,VR- = 0V,电池为目标板供电) N:ADC10MEM中的值,十进制
我无法找到我要出错的地方。我必须启用模拟输入引脚(ADC10AE0 | = 0x10),并设置方向(P4DIR | = 0x01)吗?
谢谢!
尝试http://electronics.stackexchange.com/ – skaffman 2011-04-13 14:38:11
感谢您的提示。我在那里问了[question](http://electronics.stackexchange.com/questions/13009/reading-voltage-using-tis-msp430-ff22x4)。 – Chaitanya 2011-04-13 14:58:07
我也在electronics.stackexchange.com上回答了这个问题,请按照上面评论中的链接。 – Chaitanya 2011-04-14 15:34:10