LPCXpresso: ADCの使い方

今回は、LPCXpressoでのADC(ADコンバータ)の使い方を取りあげたいと思います。

ここでは、ADC用のドライバとして、サンプルプログラムに付属している下記のものを使用します。
adc.c
adc.h
なお、サンプルプログラムをインポートしていない場合は、この記事を参照してプログラムをインポートして下さい。adcプロジェクト下のdriverディレクトリに上記のファイルがあります。

まず、adc.hをインクルードし、VIN電圧とADCのビット数を定義しておきます。

#include "adc.h"
#define SUPPLY_VOLTAGE 3300  //VIN=3300mV
#define ADC_COUNT_MAX 1023   //10bit ADC

実際に使う際には、下記の様なコードを使用します。

ADCInit( ADC_CLK );     //ADC initialization

uint32_t adc_val_0;     //Code of ADC0

//Read ADC0
ADCRead( 0 );
adc_val_0 = ADCValue[0];
while ( !ADCIntDone );
ADCIntDone = 0;

//Voltage value of ADC0
double adc_voltage_0;   
adc_voltage_0 = SUPPLY_VOLTAGE*adc_val_0/ADC_COUNT_MAX;

まず、ADCInitで初期化します。この時に使用しているADC_CLKは、ドライバファイル中で定義されているので、改めて定義する必要はありません。その後、//Read ADC〜以降で、ADCの測定値を、変数adc_val_0に格納します。最後に、ADCの測定値を電圧値に変換しているのが、//Voltage value of ADC0〜以降の処理になります。

→その他のLPCXpresso関連情報

Sponsored Link