0

入力電圧を読み取るために、TI MSP430 g2553 ADC10 をプログラムしようとしています。しかし、電源に接続すると、ADC10MEM レジスタから値が得られません。さまざまなチュートリアルを試しましたが、問題を解決できませんでした。ADCの設定方法の問題だと思いますが、多くの変数が何であるかがわからないため、何を設定する必要があり、何を設定しないのかわかりません。これをどのように理解できるか、またはADCを適切にセットアップするために何をすべきかを知っている人はいますか? 私が使用しているコードは

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

私のニーズに合わせて変更しましたが、電源がオフの場合でも、機能する価値はありません。

4

1 に答える 1

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;
}
于 2014-05-07T07:56:26.700 に答える