しなぷすのハード製作記

「GPIO」の解説

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
2016年11月07日 更新。
用語:GPIO
読み:ジー・ピー・アイ・オー
略語の完全な表記:General Purpose Input/Output
同義語・似た意味の言葉:汎用入出力
このページで解説している他の用語:GPIOポートpinMode関数digitalRead関数digitalWrite関数

概要

用語の意味

GPIOとは、マイコンなどのICやその他電子機器のデジタル入出力ピンの内、特定の用途が決まっておらず、ソフトウェアの指示により様々な機器との信号のやり取りに使える物です。通常は設定により、ピン単位(ビット単位)で入力ピン、出力ピンのいずれにも設定できます。また設定により、プルアップ抵抗やプルダウン抵抗を接続したり、入力信号の論理の変化により割り込みを発生させる事ができる様になっている場合もあります。

複数のGPIOピンの信号の入力や出力をまとめて行う構造になっている場合、入力や出力の単位になるGPIOピンのまとまりをGPIOポートと呼びます。GPIOポートのピン数は、CPUのバス幅に合わせてある場合が多いです。

ArduinoにおけるGPIO

ArduinoにおけるGPIOの扱いについて説明します。

pinMode関数による入出力方向の指定

Arduinoにおいては、各GPIOピンに0番から始まる数字が付いています。

GPIOピンの入出力の向きを指定するには、pinMode関数を使います。pinMode関数には2つの引数があり、1番目の引数はピンの番号を、2番目の引数は入出力の向きを表わします。

例えば次の様にすれば、3番ピンを入力ピンにする事を表わします。

pinMode(3,INPUT);

pinMod関数の第2引数に使う定数の一覧を、表1に示します。

表1、pinMode関数の第2引数に使う定数
定数 意味
INPUT 入力(プルアップ抵抗なし)
INPUT_PULLUP 入力(プルアップ抵抗あり)
OUTPUT 出力
広告

digitalRead関数による信号の読み出し

入力に設定されたGPIOピンから信号を読み出すには、digitalRead関数を使います。digitalRead関数の引数は一つで、その引数はピン番号を表わします。

例えば次の様にすれば、変数iに、3番ピンの信号レベルが読み出せます。

int i=digitalRead(3);

digitalRead関数の返り値は定数HIGHまたは定数LOWになります。それぞれの定数は、表2の様に定義されています。これらの定数は、後述するdigitalWrite関数でも用います。

表2、digitalRead関数とdigitalWrite関数で用いる、論理レベルを表わす定数
定数 意味
HIGH 論理レベルのH(または1)。
LOW 論理レベルのL(または0)。

digitalWrite関数による信号の出力

出力に設定されたGPIOピンに信号を出力するには、digitalWrite関数を使います。digitalWrite関数には引数が2つあり、1番目の引数はピン番号、2番目の引数は出力する論理レベル(HIGHまたはLOW)を表わします。

例えば次の様にすれば、3番ピンにHを出力します。

digitalWrite(3,HIGH);
ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー

関連用語

関連ページ

このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
サイトマッププライバシーポリシーお問い合わせ用語集
しなぷすのハード製作記