P-ROBO(ピーロボ)
プログラムの基本動作
P-ROBO制御プログラムは、レジスタの設定、初期化などを終了した後、下記の項目を繰返し動作します。
- I/Oポート入力信号の赤外線センサの状態を確認する。
- センサの状態より、左右モーターの動作を指定する。
- タイマの割り込み処理により、左右モーターの動作を決定する。
- プログラムは繰返し動作する。
レジスタ設定と言うのは、CPUであるPICの機能である、ポートやタイマの機能を使える状態にする事です。
初期化は、プログラムを動作させる上で事前に、設定しておかなければならない事です。
割り込みは、プログラムの動作中、ある条件が成立した場合に実行される小さなプログラムです。
割り込みが発生すると、CPUはそれまで行なっていた処理を一時中断し、割り込み処理を実行します。
初期化とレジスタ設定の詳細については、別の項目で説明します。
PIC C の特殊記述法
・PicCの特殊(固有)なCプログラミング
コンパイラにPIC C を使用する場合、プログラムはANSI C とほぼ同じですが、下記の点のみ記述方法が違います。
・アドレス参照の行い方
C言語の一般的なアドレス参照の行い方は、下記のような感じで、ポインタを使用して参照するか、define定義を使用する場合が多いと思われます。
#define SCI (*(volatile struct st_sci*)0xFFFFFE80) /* SCI Address*/
PicCの場合、変数宣言を行い、[@]を使用してアドレス参照を行います。
int iPORTB @ 0x06; /* 0x06 I/Oポート B */