C言語

ロボットカー制御システムのファイル構成

ロボットカー制御システムのファイル構成について検討していきます。

ロボットカー制御システムのファイル一覧

共通

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チェックなどを行います。

データについては、グローバル変数は使用しない方針とし、各モジュール毎に持つこととします。セッター、ゲッター関数を使用し、データの取得設定を行います。

今回のロボットカー制御のシステムのファイル構成は以上となります。

-C言語