プログラミング教材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秒待つ }
}