Nucleo-F401RE(mbed)で遊ぶ01: Lチカ
昨年買ったまま放置していたNucleoで遊びはじめたのでメモ
購入してから基本的な使い方
購入したのは、STMicroelectronicsのNucleo-F401REという評価基板。STM32F401REというマイコンが乗っている。開発環境はmbedに対応しており、web上のIDEで開発ができるので非常にお手軽。また、Arduino Uno Revision3 互換であるため、Arduinoのシールドを簡単に接続できる。 マルツで1450円(税抜)で購入したが、今は円安のせいかもう少し高くなっている模様。
基本的な使い方は以下のサイトでわかりやすく紹介されているので、これを参考にした。
- 基板をUSBでPCに接続
- USBメモリと同じように、NUCLEOという名前のデバイスが認識されるので、中に入っているmbed.htmをブラウザで開く
- ユーザ登録を行う
- ファームウェアを更新する
- 「Open mbed Compiler」というボタンをクリックしてIDEを開く
- プログラムを書いてコンパイル
- コンパイルに成功すると、バイナリのダウンロード画面が現れる
- バイナリを、USBメモリに保存するのと同じようにNUCLEOというデバイスに保存
- プログラムがマイコン上で動き出す
公式のチュートリアル動画もある。 www.youtube.com
Lチカのプログラムを作成
IDEを開き、Newボタンをクリックする。ダイアログが現れるので、templateタブをクリックし、"Blinky LED test for the ST Nucleo boards"を選択しOKをクリックする。すると、プロジェクトが作成され、main.cppには以下のプログラムが記述されている。
#include "mbed.h" DigitalOut myled(LED1); int main() { while(1) { myled = 1; // LED is ON wait(0.2); // 200 ms myled = 0; // LED is OFF wait(1.0); // 1 sec } }
このプログラムでは、LEDを0.2秒 ON ->1秒 OFF を繰り返す。 LEDの操作に用いているのが、"DigitalOut"というクラスで、"myled"というインスタンス名でインスタンスし、"LED1"というIOピンに接続するということをコンストラクタに渡している 。
"DigitalOut"などのライブラリについての説明は、以下のサイトに説明がある(日本語版の方が詳しい気がする)。
Homepage - Handbook | mbed
mbed 日本語リファレンス (私家版) | mbed
IOピンについては、以下のサイトに載っている図を見れば良い。
NUCLEO-F401RE | mbed
"青背景に白文字", "緑背景に白文字", infomartionの欄に記されている"additional labels"が指定できる。
あとはコンパイルして、バイナリをデバイスに保存してやればLチカが確認できる。