AD変換

Eval1でAD変換するサンプルプログラムです。
http://briefcase.yahoo.co.jp/bc/takuyamatsubara/lst?.dir=/d959&.src=bc&.view=

#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules

void main()
{
	unsigned int adc_data;
	//Programmable Gain Amplifier 
	PGA_Start(3);//sets the power level (PGA_HIGHPOWER)
	LCD_Start();
	M8C_EnableGInt;//Enable Global Interrupt
	ADCINC_Start(3);//sets the power level (ADCINC_HIGHPOWER)
	ADCINC_GetSamples(0);//Runs the ADC (ADC to run continuously)
	while(1){
		while(ADCINC_fIsDataAvailable() == 0);
		adc_data = ADCINC_wClearFlagGetData();
		LCD_Position(0,0);
		LCD_PrHexInt(adc_data);
	}
}


コードはこれだけなのですが、、、
PSoCはポートに機能を割り振らないと動きません(どのポートにも好きな機能を割り振れる)。
なので、設定します。




設定画面です。
これは難しいですね。よく分かってないので、もうなにがなんだか。
ADCINCがADコンバータのことです。
ADの分解能も設定できます。ここでは14bitにしました。


↑実行結果です。
VRはジャンパ線でport01につなぎます。
VRを回すと値が変わります(0-0x3fff)。