16個のセンサを接続する
ここでは16個のセンサを接続する方法を述べます。
※回路図は示しましたがここでは回路は作っていません。ADCINA2/ADCINA3のポートの使い方だけを示しました。他のポートも同じです。f-paletteの回路図を参照してください。

ハードウエア編

ADCをする対象としてわかりやすいのでボリュームを使った。ここで使ったのは10KΩの可変抵抗となります。プラスマイナス電極はないのでどちらでもVcc/GNDは良い。可変する真ん中のピンがADCポートにつながっていれば良い。

ソフトウエア編
F28035_template_main.cを変更して使ってください。
void main(void)
{
Uint16 AdcResults[16];
char msg1[16];
char msg2[16];
initNolibM(); //初期化
while(1)
{
AdcResults[0] = sensor(ADCINA0);
AdcResults[1] = sensor(ADCINA1);
AdcResults[2] = sensor(ADCINA2); //AdcResults[2] = sensor(CN7);と同意義
AdcResults[3] = sensor(ADCINA3); //AdcResults[3] = sensor(CN10);と同意義
AdcResults[4] = sensor(ADCINA4);
AdcResults[5] = sensor(ADCINA5);
AdcResults[6] = sensor(ADCINA6);
AdcResults[7] = sensor(ADCINA7);
AdcResults[8] = sensor(ADCINB0);
AdcResults[9] = sensor(ADCINB1);
AdcResults[10] = sensor(ADCINB2);
AdcResults[11] = sensor(ADCINB3);
AdcResults[12] = sensor(ADCINB4);
AdcResults[13] = sensor(ADCINB5);
AdcResults[14] = sensor(ADCINB6);
AdcResults[15] = sensor(ADCINB7);
sprintf(msg1,"adc[A3]:%4d",AdcResults[2]);//配列の数字を変えれば違うポートの値も確認できるぞ
sprintf(msg2,"adc[A4]:%4d",AdcResults[3]);//配列の数字を変えれば違うポートの値も確認できるぞ
//lcd_CLR();//LCDクリア
lcd_HOME();//カーソルをホームへ
lcd_PUTS((unsigned char *)msg1);
lcd_LF();
lcd_PUTS((unsigned char *)msg2);
wait(100);
}
}
16個のセンサを接続(モータドライバ使用時はADCINB3/4/5が使用不可)
サンプルプログラムを実行すると以下のようにLCDにADC変換した値を表示します。

