1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

5分でLチカ 〜ルネサスRAファミリを使ってLチカのプログラムを5分で作る

Last updated at Posted at 2025-10-20

image.png

忙しいエンジニアのためにルネサスRAファミリを使てLチカのプログラムを5分で作ります。5分の中には、開発環境の立ち上げや動作させる時間は含みません。

ルネサスエレクトロニクス社製 EK-RA6M5評価キットとPCを準備してください。
image.png

3つのLEDが約0.5秒間隔で点滅を繰り返すプログラムを、何もないところから作ります。(サンプルプログは使わないという意味)

PCNTR1の値が1と0を繰り返すと、LEDが点滅します。
まず、0x4008 0000のアドレスにある32ビットの値をPCNTR1という名前に定義します。

 volatile unsigned long PCNTR1 = ( unsigned long ) 0x40080000;

次に レジスタに値を入れます。
・点灯させる場合は *PCNTR1= 0x01c0 01c0;です。
・消灯させる場合は *PCNTR1= 0x0000 01c0;です。
これを一定時間毎に繰り返せば、点滅ができます。

点滅期間はfor文を使います。
iという整数の変数を定義し、iが0x1800000(0.5秒の実験値)よりも小さい場合に同じ処理を繰り返します。
iは1回処理を行うたびに+1(i++)します

for文の処理は何もしない命令(NOP)を繰り返し実行し、時間を稼ぎます。
NOPはアセンブリ言語ですが、「__asm(“NOP”); 」(アンダーバーは2つ)と書くとC言語の中に入れることができます。

     int i;
     for(i=0; i < 0x1800000; i++)
    __asm("NOP");

PCNTR1= 0x01c0 01c0; とPCNTR1= 0x0000 01c0;を繰り返すプログラムを作るにはwhile文を使います
whileの条件式を1とします。中カッコで挟んだ処理を先ほど説明したfor文と PCNTR1= 0x01c001c0; とPCNTR1= 0x000001c0;の繰り返しを入れます

    int i;
    while (1)
     {
     for(i=0; i < 0x1800000; i++)
     __asm("NOP");
     *PCNTR1= 0x0000 01c0;

     for(i=0; i < 0x1800000; i++)
      __asm("NOP");
     *PCNTR1= 0x01c0 01c0;
    }

以上で、プログラムの各ステップができました。それらを全部繋げます。

 volatile unsigned long PCNTR1 = ( unsigned long ) 0x40080000;

    int i;
    while (1)
     {
     for(i=0; i < 0x1800000; i++)
     __asm("NOP");
     *PCNTR1= 0x0000 01c0;

     for(i=0; i < 0x1800000; i++)
      __asm("NOP");
     *PCNTR1= 0x01c0 01c0;
    }

PCのタイピングに慣れている方なら、5分も必要ないと思います。
Webの文字列をコピペしてもらっても結構です。

あとは、ビルドして、デバッグモードに入って、実行します。

image.png

LEDの点滅が確認できましたでしょうか?

もっと詳しく勉強したい方は、
半導体技術コンテンツメディアAPSのWebinarの「基礎実習|Arm® Cortex® -M搭載 ルネサスRAファミリを使ったマイコン超入門【第4部】」( https://www.aps-web.jp/seminar/31606/ )
を観てください。動画を使って詳しく解説しています。

以上です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?