QQQ
3Q!
🧑🏫 組み込み開発_RL78G14篇 LC1
■ 開発環境準備
◇ ソフトウェアIDE環境
- e2 Studio + LLVM for RL78 环境
- 编译&デバッグ环境
- C:\ProgramData\LLVM for Renesas RL78 17.0.1.202406\bin
- GNU make環境
- C:\Renesas\e2_studio\eclipse\plugins\com.renesas.ide.exttools.gnumake.win32.x86_64_4.3.0.v20220121-1024\mk
- 编译&デバッグ环境
◇ ハードウェア
RL78/G14ターゲットボード(FB-R5F104PL-TB)
回路図
レッスン動画
■ プロジェクト作成
作業フォルダー選択(例:C:\QQQ)
コンパイラ選択(LLVM for Renesas RL78 C/C++ Executable Project)
プロジェクト名記入
プロジェクト構成設定
RL78 Simulator
ソース自動生成
✅「Use Peripheral Code Generator」をチェック
黄色部分ファイルはソース自動生成後に不要なので、予めご削除してください。
■ ソース自動生成
【クロック発生回路】ノード
下記のタブを設定し、他のタブはそのまま触らないでください。
「端子割り当て設定」タブ
「確定する」ボタン押下して、次へ!
「クロック設定」タブ
「オンチップ・デバッグ設定」タブ
【ポート】GPIOノード
出力ポート(LED1、LED2)の設定
入力ポート(KEY)の設定
「ウォッチドッグ・タイマ」ノード
現時点で使わないため、「使用しない」とする。
ソース自動生成の実行
ソースフォーマット設定
プロジェクトのビルド
■ デバッグ構成環境の作成
「ソフトウェアシミュレーターデバッグ構成(RL78 Simulator)」をそれぞれ作成しよう!
「RL78 Simulator」構成作成
「main」タブ
プロジェクトelfファイル(例:QQQ.elf)選択して、Mainタブの赤警告マークを解消する。
「Debugger」タブ
「Target Device」→「R5F104PL」
「Time Measurement」- 「Run Break Time Measurement」→「yes」
「Common」タブ
文字コード→「UTF-8」
設定完了して、「Apply」→「Debug」押下、実行!
■ シミュレーターパネルのデザイン
デザイン画面の起動
「シミュレーター」-「入出力パネル(P)」メニュー選択して、
LED1デザイン
注意:Debug停止状態したデザイン編集できません。
GPIO選択→「P75/KR5/INTP9」
アクティブレベル→「HIGH」
LED2デザイン(LED1からコピー)
GPIO選択→「P76/KR6/INTP10/(RxD2)」
アクティブレベル→「HIGH」
「スタイル」→ 赤LEDと選定
キーのデザイン
GPIO選択 →「P137/INTP0」
アクティブレベル →「HIGH」
種類 →「トグル」
スタイル→ スイッチなスタイル
ラベルの追加(LED1/LED2/KEY)
パネルデザインをファイルとして保存する。(再利用可)
■ 制御ソース実装
下記「main」関数の「User Code」ブロック範囲内制御ソースを埋めましょう!
↓↓↓ソースコード↓↓↓
/***********************************************************************************************************************
* Function Name: main
* Description : This function implements main function.
* Arguments : None
* Return Value : None
***********************************************************************************************************************/
int main(void)
{
R_MAIN_UserInit();
/* Start user code. Do not edit comment generated here */
while (1U)
{
// キーOnの場合
if (P13_bit.no7)
{
// LED1点灯
P7_bit.no5 = 1;
// LED2消灯
P7_bit.no6 = 0;
}
// キーOffの場合
else
{
// LED1点灯
P7_bit.no5 = 0;
// LED2消灯
P7_bit.no6 = 1;
}
}
return 0U;
/* End user code. Do not edit comment generated here */
}