#include "dev_ad.h"

/*
 * A/D変換器の初期化
 */
void ad_initialize(void)
{
	/* ピン端子の機能をA/D変換に切り替える */
	*PH_CR0 = *PH_CR0 | 0x1000;
	
	/* 割込み無し、外部トリガ無し
	 * シングルモード、チャネル：AN3*/
	*ADCSR = *ADCSR & 0xA003;	
}

/*
 * 照度センサの電圧をA/D変換して
 * 変換値(10bit)を返す
 * 戻り値：照度センサの電圧値(10bit)
 */
unsigned int ad_bright(void)
{
	 /* 変換値保持用変数 */
	unsigned int conv;

	/* AN3を選択 */
	*ADCSR = *ADCSR | 0x0003;
	
	/* A/D変換の開始 */
	*ADCSR = *ADCSR | 0x2000;

	/* 変換が終わるまで待つ */
	while((*ADCSR & 0x8000) != 0x8000 ) ;
	
	*ADCSR = *ADCSR & 0x7FFF;
	
	/* 変換値を格納(10bit) */
	conv = ((*ADDRD >> 6) & 0x03ff);
	
	/* 変換値を返す */
	return conv;
}