2014-05-03 31 views
0

我试图编程TI MSP430 g2553 ADC10来读取输入电压。但是,当我将它连接到电源时,ADC10MEM寄存器中没有任何值。我已经尝试了很多不同的教程,但没有任何能够解决这个问题。我相信这是我设置ADC的一个问题,但我不知道变量是多少,所以我不确定需要设置什么,什么不需要设置。有没有人对我如何解决这个问题有所了解,或者知道如何正确设置ADC?我正在使用的代码从MSP430 g2553 ADC电压转换,没有得到一个值

http://blog.elevendroids.com/2013/06/code-recipe-reading-msp430-power-supply-voltage-level/

拍摄和修改,以适合我的需要,但它不给我任何工作价值,即使在电源关闭时,它并没有给我0.

+0

你可以发布你的代码?链接后面的代码看起来很好,我可能会立即使用2.5V的引用来简化它,但它应该可以工作。 – ekoeppen

回答

0

你能试试吗?它返回毫伏电压:

unsigned read_voltage(void) 
{ 
    unsigned adc, voltage; 

    ADC10CTL1 = INCH_11 | ADC10DIV_3 | ADC10SSEL_3; 
    ADC10CTL0 = ADC10SHT_3 | ADC10ON | ENC | REF2_5V | ADC10SC | REFON | SREF_1; 
    while (ADC10CTL1 & ADC10BUSY) ; 
    adc = ADC10MEM; 
    ADC10CTL0 &= ~ENC; 
    voltage = adc * 5; 

    return voltage; 
}