ロボットカー制御システムのファイル構成について検討していきます。
ロボットカー制御システムのファイル一覧
共通
common.h(共通ヘッダー)
アプリケーション層
AppMain.c(メイン処理)
AppRcvDataAls.c(赤外線リモコン受信データ解析処理)
AppRcvDataAls.h(赤外線リモコン受信データ解析処理ヘッダーファイル)
ドライバー層
DrRcvCtrl.c(赤外線リモコン受信ドライバ処理)
DrRcvCtrl.h(赤外線リモコン受信ドライバ処理ヘッダーファイル)
DrMotorCtrl.c(モーター制御ドライバ処理)
DrMotorCtrl.h(モーター制御ドライバ処理ヘッダーファイル)
DrTimerCtrl.c(タイマ制御ドライバ処理)
DrTimerCtrl.h(タイマ制御ドライバ処理ヘッダーファイル)
DrWdtCtrl.c(ウォッチドッグ制御ドライバ処理)
DrWdtCtrl.h(ウォッチドッグ制御ドライバ処理ヘッダーファイル)
CPU層
iodefine.h(IO定義ヘッダーファイル)
stkinit.asm(スタック初期化処理)
cstart.asm(スタートアップ処理)
cstart.inc(スタートアップヘッダーファイル)
RL78G14_init.c(ハードウェアイニシャル処理)
CpuRomChk.c(ROMチェック処理)
CpuRomChk.h(ROMチェック処理ヘッダーファイル)
ファイルの説明と関係性
全体的に共通の定義値をcommon.hに定義します。
共通性のないものは、各モジュールで定義します。
アプリケーション層は、上位層に位置しており、今回でいえば、全体のスケジューリングと、赤外線リモコンからのデータを取得し、モータに指示を送ります。
全体のスケジューリングは、メイン処理が担当します。メイン処理は、赤外線リモコンからの受信データを解析した結果により、モータ制御に指示を出したり、HALTモードの監視を行います。
赤外線リモコン受信データ解析処理は、赤外線リモコンからの受信があった場合、どのボダンが押下されたのかを解析します。
アプリケーション層は、マイコンのレジスタに直接アクセスは行いません。必ず、ドライバー層を経由してマイコン操作を行います。
ドライバー層は、マイコンとアプリケーション層を繋げる役割を担当します。
赤外線リモコン受信処理は、赤外線リモコンからのデータを受信します。
モーター制御処理は、アプリケーション層からどの方向に移動するのか、停止するかの指示を受け、それに従って、マイコンの出力ポートを制御します。
CPU層は、マイコンの初期化や、ROMチェックなどを行います。
データについては、グローバル変数は使用しない方針とし、各モジュール毎に持つこととします。セッター、ゲッター関数を使用し、データの取得設定を行います。
今回のロボットカー制御のシステムのファイル構成は以上となります。