mbedを使う
7セグメントディスプレイをつかってmbedを確認
mbedはARMの開発環境。OSに依存せずブラウザだけで開発ができることが最大の特徴。
用いたもの
- NUCLEO-F303RE
-
7セグメントディスプレイ
- TM1637による制御
- 制御的には、DIO、CLK、VDD、GNDの4本
- TM1637による制御
配線
NUCLEO-F303REのPC_0にCLKをPC_1にDIOを配線する(VDDとGNDとの説明は省略)。
mbed
準備
コンソール上のNUCLEO-F303REを選択する。または’+’を選択してターゲットを追加する。
選択すると、これが見える。
Open Mbed Compilerをクリックすると、次が表示される。
ここでは、新規プログラムとして「7SegTest」とした(テンプレートはなんでもよい)。すると、次のような表示となる。
TM1637ライブラリのインポート
TM1637ライブラリをインポートする。左上の「インポート」をクリックし、TM1637を入力して検索。
ここで最初に検索されたものを選択して、右の「インポート!」をクリック。すると、
が表示され、LibraryとしてImportする。次のようにTM1637ライブラリがこのプログラムにインポートされる。
TM1637ライブラリの修正
そのままではビルドエラーが発生していた。調べるとCATALEXというものを使うように設定する必要があるらしい。TM1637_Config.hを下記のように修正する。
// Select one of the testboards for TM1637 LED controller
#define TM1637_TEST 0
#define CATALEX_TEST 1
#define ROBOTDYN_TEST 0
#define EYEWINK_TEST 0
テストプログラム
Font_7Seg.hを見ると表示できる文字がわかる。CATALEXのクラスを見て作ったプログラムは下記のとおり。
#include "mbed.h"
#include "TM1637.h"
TM1637_CATALEX CATALEX(PC_1, PC_0);
char digits[] = {C7_0,C7_1,C7_2,C7_3,C7_4,C7_5,C7_6,C7_8,C7_9};
TM1637::DisplayData_t hi_str = {C7_H, C7_I, 0x00, 0x00};
TM1637::DisplayData_t bye_str = {C7_B, C7_Y, C7_E, 0x00};
int main()
{
int i;
TM1637::DisplayData_t disp_str;
CATALEX.cls();
CATALEX.writeData(hi_str);
wait(2);
for (i=0; i<10; i++) {
memset(disp_str, digits[i], 4);
CATALEX.writeData(disp_str);
wait(2);
}
CATALEX.writeData(bye_str);
}
ビルド
ビルドが終わると、プログラムを保存するダイアログが表示される。
ボードへのプログラム転送
実際の動作の様子
感想
時代遅れの年寄りにはびっくり。しかもこういった開発環境レスはかなり前から存在していたので。
Author And Source
この問題について(mbedを使う), 我々は、より多くの情報をここで見つけました https://qiita.com/infinite1oop/items/72945f98a3a26dd0dbee著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .