Renesas RAマイコンを使ってみよう~e2StudioインストールからBlinkyまで~ の続きです。
今回は、LEDをチカチカさせる Blinkyプログラム(Lチカ) を1から作ってみましょう。
新規プロジェクトを作成する
ファイル⇒新規⇒Renesas C/C++ Projext⇒Renesas RA を選択します。
Renesas C/C++ Project をクリックして、Next をクリックします。
Project Name を入力し Next をクリックします。
使用するボードを選択し 次へ をクリックします。
今回も FPB-RA2E1 を選択します。
RTOS を使用しない No RTOS にします。
Bare Metal - Minimal を選択し、終了をクリックします。
以上で、ボード設定などが入ったプロジェクトが用意されました。
パースペクティブを開く をクリックします。
RA Flexible Software Package Documentation
FSPのドキュメントを見てみましょう。
梟のアイコンをクリックすると以下のページに飛びます。
今回使用する I/O Port (r_ioport) の設定を見てみましょう。
プログラムを作る
最初に Generate Project Content をクリックします。
Developer Assistance から必要なAPI関数を選択します。
Developer Assistance を開いて Call R_IOPORT_PinWrite を探します。
Call R_IOPORT_PinWrite を選択し、プログラムエリアへ貼り付けます。
status = は不要なので削除します。
pin を LED1 にします。
Level は BSP_IO_LEVEL_HIGH とします。
同じく BSP_IO_LEVEL_LOW の行を作りますが、そのままでは人間の視覚では判断できないスピードで点滅するので Delay を追加します。
R_BSP_SoftwareDelay を選択します。
今回は 1000,BSP_DELAY_UNITS_MILLISECONDS としました。
以上で完成です。
LED2を追加する
IO設定
デバッグを行うとわかりますが、ピンの名前が逆になっていますので修正しつつ、LED2に変更し
Generate Project Content をクリックします。
プログラムも修正し、ビルド、デバッグ します。
プログラム
今回のプログラムは以下になります。
BlinkyFirst
void hal_entry(void)
{
/* TODO: add your own code here */
while(1){
R_IOPORT_PinWrite(&g_ioport_ctrl, LED1,BSP_IO_LEVEL_HIGH );
R_IOPORT_PinWrite(&g_ioport_ctrl, LED2,BSP_IO_LEVEL_HIGH );
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl, LED1,BSP_IO_LEVEL_LOW );
R_IOPORT_PinWrite(&g_ioport_ctrl, LED2,BSP_IO_LEVEL_LOW );
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);
}