ESP32-DevKitC(ESP-WROOM-32開発ボード)GPIO設定(Lチカッ)
前回は、ESP32の開発環境を構築して、hello_world を実行した。しかし、まだどんな感じでプログラムしてよいかわかっていないので、今回はLチカのサンプルプログラムを実行してみる。
サンプルプログラムをワークスペースまでコピー
コピーした後は下のような画面になる。
カレントディレクトリをコピーして生成したblinkに移動
ターゲットをesp32に設定
ターゲットをesp32に設定するには下のコマンドを実行する。
idf.py set-target esp32
LEDを接続するPINの設定
このLチカサンプルプログラムはLEDを接続するピンをmenuconfigで設定できる。 そのためまずは、下のコマンドでmenuconfigを開く。
idf.py menuconfig
これを実行すると下のような画面が出現する。
32に設定したら、q を入力する。
プロジェクトをビルド
設定が完了したら、下のコマンドでプロジェクトをビルドする。(凄い時間が掛かる)
idf.py build
プログラムを書き込む
ビルドが正常に終了したら、下のコマンドで書き込む。
idf.py -p COM9 flash
Lチカ サンプルプログラム (blink.c)
ESP-IFをインストールしたときに同時にダウンロードされた、Lチカのサンプルプログラムを下に示す。
18行目の#define でLEDを接続するピンを設定されている。CONFIG_BLINK_GPIOとなっているとmenuconfigで設定したピン番号を設定されるが、ここにピン番号を記入するとプログラム上でも設定ができる。
この行でGPIOの入出力設定をする。
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
この行でGPIOの出力設定をする。第一引数でピン番号を設定、第二引数で出力を設定(0 or 1)
gpio_set_level(BLINK_GPIO, 0);
この行はDelay関数、1000msec処理を停止する。
vTaskDelay(1000 / portTICK_PERIOD_MS);
シリアルで出力はprintfを用いればよいらしい。初期設定は115200bps。
printf("Turning on the LED\n");