プログラミング教材BeautoRoverARMに以下の3種類のセンサを取りつけ、値を読み込むプログラムの製作にチャレンジしました。
シリアル通信でセンサの値を表示するプログラム
int main (void)
{
int data=0; //intは16bit(-32768~32767)の数字を記録することができる
char sentence[6]; //charは文字を記録することができる(-128~127)5文字確保
//(sprintf使用時にnull文字が入るため1文字余分に確保する)
//制御周期の設定[単位:Hz 範囲:30.0~]
const unsigned short MainCycle = 60;
Init(MainCycle); //CPUの初期設定
SciInit(); //シリアル通信初期化
LPC_IOCON->ARM_SWDIO_PIO1_3 &=~(1<<3); //AD4(PIO1_3)のプルアップ抵抗を無効にする
LPC_IOCON->ARM_SWDIO_PIO1_3 &=~(1<<4); //AD4(PIO1_3)のプルアップ抵抗を無効にする
while(getSW()==0){} //ボタンが押されるまで待つ
while(getSW()==1){} //ボタンが離されるまで待つ
LED(1);//緑LED点灯
while(1){
data=ADRead(●); //アナログ入力の値をdataに格納
sprintf(sentence,"%04d\r",data); //dataの値を4桁の10進数の文字列にしてsentenceに格納
//\rは1文字分、カーソルを一番左に戻す役割がある
SciStrTx(sentence,5); //変数sentenceに入った5文字をパソコンに送信
Wait(100); //0.1秒待つ
}
}

