シリーズ:基礎シリーズ(マイコン)
この記事のねらい:実験シリーズ「評価ボードでLEDを点滅」に入る前に、GPIO(ピンをON/OFFする仕組み) だけを最短で理解する。
はじめに(最初に伝えたいこと)
LED点滅の実験は、回路よりも先に「マイコンがピン(LEDやセンサとつながる出入口)をON/OFFできる」という感覚がないと詰まりやすいです。
そこでこの記事では、難しい話(CPUの命令とか、レジスタとか、割り込みとか)は後回しにして、
- マイコンって何?
- ピンって何?
- GPIOって何?
- High/LowでLEDが点く/消えるってどういうこと?
だけを、実験に必要な範囲で説明します。
※この記事は「実験手順」ではありません。
e² studioやFSPの手順、書き込み方法、点滅コードは実験シリーズで扱います。
要点
最初は、次の3つだけ覚えればOKです。
- マイコンは「小さなコンピュータ」(CPU+メモリ+いろいろな機能が1つのチップに入っている)
- LED点滅で使うのは GPIO(汎用入出力ピン) という機能
- GPIOはピンの電気状態を High / Low にできる
- High:「電圧を出す(H)」
- Low:「0Vにする(L)」
この3つが分かると、LED点滅は「High→Low→High→…」の繰り返しで説明できます。
1. マイコンとは「CPUが入った部品」
マイコン(マイクロコントローラ)は、ざっくり言うと “小さなコンピュータ” です。
中には、最低限次の要素が入っています。
- CPU:命令を実行する頭脳
- メモリ:プログラムやデータを置く場所
- 周辺回路:タイマ、通信、GPIOなど、いろいろな機能のこと
- ピン(端子):外の部品など(LEDやセンサなど)とつながる入口/出口
LED点滅は、この中の「ピン」を使うだけです。
そして、このピンを使うのに、GPIOという機能を使います。
2. ピンとは何か?
評価ボードの周りに並んでいる金属の端子(穴やヘッダ、チップ部品の足)を、まとめて ピン(Pin) と呼びます。
ピンは、マイコンの“手足”のようなもので、外の世界(LED・スイッチ・センサ)と電気的につながる入口/出口です。
ピンには「物理のピン」と「機能としてのピン」がある
- 物理のピン(見た目の端子)
実物としてそこにある金属端子。評価ボードのコネクタのピンや、マイコンICにある金属端子もこれです。 - 機能としてのピン(GPIOピン)
「この端子はマイコン内部ではPORTの何番」という“役割”の呼び方。
以後、LED点滅で言う「ピン」は、基本こちら(GPIO)を指します。
3. GPIOとは「ピンを自由にON/OFFできる仕組み」
GPIO(General Purpose Input/Output)は、直訳すると「汎用の入力/出力」です。
- 出力(Output):マイコンから外へ電気状態を出す(LED点滅はコレ)
- 入力(Input):外からの電気状態を読む(ボタンなどで使う)
今回のLED点滅では、対象のピンを 出力 に設定し、High/Lowを切り替えます。
4. High / Low は何を変えている?
GPIOでHigh/Lowを切り替えると、ピンの電気状態が変わります。
- High:ピンが「H(電圧あり)」になる
- Low:ピンが「L(0V)」になる
ただし「Highにしたら必ず点灯」とは限りません。
LEDが光るかどうかは、LEDがつながっている回路の作り(どこに電流が流れる道ができるか)で決まります。
5. LED点滅は「HighとLowを交互にするだけ」
LED点滅の考え方は、これだけです。
- ピンをHighにする → LEDが点灯(の構成になっている)
- 少し待つ
- ピンをLowにする → LEDが消灯(の構成になっている)
- 少し待つ
- 1〜4を繰り返す
つまり、点滅は「ON/OFFを繰り返す」だけです。
6. 重要:オンボードLEDは“Lowで点く”ことがある(Active-Low)
評価ボードのLEDは、回路の都合で Lowにすると点灯、Highにすると消灯、という場合があります。
これを Active-Low(アクティブ・ロー) と呼びます。
Low(0V)にすると点灯するのは、「0Vだから電流が止まる」のではなく、0Vが電流の行き先(出口)になるからです。
回路の作りによっては、LEDのもう一方が電源(Vcc)側につながっていて、ピンをLow(0V)にすると Vcc → LED → ピン(0V) の流れができて点灯します。
※ここでは「そういう配線のLEDもある」と分かればOKです。実験では、まず“点灯条件(High点灯かLow点灯か)”を確認して進めます。
通常通り、Highにすると点灯するものをActive-High(アクティブ・ハイ) と呼びます。
7. 「どのピンがLEDにつながっているか」が一番大事
LEDを点滅したいなら、結局ここです。
- どのGPIO(ポート/ピン)が、LEDに接続されているのか?
- そのLEDは High で点く? Low で点く?(Active-High / Active-Low)
これは、評価ボードの資料(回路図・ユーザーズマニュアル)で確認します。
この接続情報(接続先GPIO/点灯条件)を先に確認しておくと、手順の意味が追いやすくなります。
(例:資料を読んで分かった内容を、こういう形で整理しておくと迷いません。)
- LED0:接続先GPIO
Pxxx/点灯条件:Lowで点灯(Active-Low) - LED1:接続先GPIO
Pyyy/点灯条件:Highで点灯(Active-High)
※この記事では具体のピン番号は断定しません(ボード型番や設定で変わるため)。
8. 用語だけ整理(最小)
LED点滅で出てきがちな言葉を、最低限だけ揃えます。
- ポート(Port):ピンをまとめた単位(例:PORT1、PORTAなど)。
※内部のしくみ(レジスタとビットの関係)は、別記事で解説します。 - ピン(Pin):マイコンの端子のこと。
GPIOとして使う場合は「どの端子か」を ピン名(例:P1_3のような表記)で表します。
※P1_3は「1番ポートの3番ピン」という意味の“名前”で、コードの命令ではありません。 - 出力(Output):ピンから外へHigh/Lowを出す。
- 入力(Input):ピンのHigh/Lowを読む。
補足
補足1:レジスタは今は気にしなくてOK
本来、GPIOは内部の「レジスタ」という箱に値を書いて制御します。
ただし、RA8M2の実験では、まず FSPのAPI(関数)でGPIOを操作 すれば十分です。
- まずは「GPIOでHigh/Lowできる」ことが目的
- レジスタ(ポートやピン)を直接書き換えたり、読み出したりするのは、必要になったら補足記事で扱う
補足2:点滅の“待ち時間”は最初は雑でOK
LED点滅では「少し待つ」が必要です。
最初は、正確な時間にこだわらず、
- 目で見て点滅に見える程度の待ち
で大丈夫です。
(時間精度が必要になったら、タイマ記事で扱います)
まとめ(この記事で押さえること)
- マイコンは「小さなコンピュータ」で、ピンで外とつながる
- LED点滅で必要なのは GPIO(ピンのHigh/Low切り替え)
- 点滅は「High→待つ→Low→待つ」の繰り返し
- オンボードLEDは Active-Low(Lowで点灯) のことがある
- 実験では「LEDがどのピンにつながっているか」を最初に確定させる
次に読む(おすすめの順)
- 次回:組み込み開発とは?(e² studio + FSPでビルド〜書き込みまでの最短)
- その次:LED点滅に必要なC言語だけ(main / while / 関数 / delay)
- 実験シリーズ:RA8M2評価ボードでLEDを点滅(手順・コード・結果・つまずき)