Library - ライブラリの作成

Library - ライブラリの作成

詳しい記事を Tedd OKANO さんが書かれています。次のリンクも参照してください。

ライブラリ・コンポーネントの作りかた (by Tedd OKANO)

Information

本ページは私家版のため、誤り等あればご指摘ください。
最新の情報は公式のドキュメントをご参照ください。 http://mbed.org/cookbook/Writing-a-Library

ライブラリはC++のクラス(Class)として作成します。

Step 1 検討

実現したい機能を関数としてプログラムします。

main.cpp

#include "mbed.h"

DigitalOut pin(LED2);

// LED(デジタル出力)を点滅させる関数
void flash(int n) {
    for(int i=0; i<n*2; n++) {
        pin = !pin;
        wait(0.2);
    }
}

int main() {
    // 5回点滅
    flash(5);

    // 2回点滅
    flash(2);
}

Step 2 クラス作成

クラスに書き換えます。

main.cpp

#include "mbed.h"

class Flasher {
public:
    Flasher(PinName pin) : _pin(pin) { // デジタル出力の実体化
        _pin = 0; // デジタル出力の初期化
    }

    void flash(int n) {
        for(int i=0; i<n*2; n++) {
            _pin = !_pin;
            wait(0.2);
        }
    }

private:
    DigitalOut _pin; // デジタル出力の宣言
};


Flasher led(LED2);

int main() {
    led.flash(5);
    led.flash(2);
}

Step 3 ファイル分割

宣言部分とプログラムの実体にファイルを分けます。

開発環境のプロジェクトで右クリックし、メニューから「New library」を選びライブラリ用フォルダを作る。 この中へライブラリのファイルを作成します。

http://mbed.org/media/uploads/simon/library-tutorial-02.png

ヘッダファイルには宣言だけ記述する。

Flasher.h

#ifndef MBED_FLASHER_H
#define MBED_FLASHER_H

#include "mbed.h"

class Flasher {
public:
    Flasher(PinName pin);
    void flash(int n);
  
private:  
    DigitalOut _pin;
};

#endif

プログラムの実体は .cpp ファイルへ。

Flasher.cpp

#include "Flasher.h"
#include "mbed.h"

Flasher::Flasher(PinName pin) : _pin(pin) {
    _pin = 0;
}

void Flasher::flash(int n) {
    for(int i=0; i<n*2; n++) {
        _pin = !_pin;
        wait(0.2);
    }
}

main.cppではライブラリをincludeします。

main.cpp

#include "mbed.h"
#include "Flasher.h"

Flasher led(LED2);

int main() {
    led.flash(5);
    led.flash(2);
}

Step 4 公開

ライブラリのフォルダで右クリックし、メニューから「Publish Library」を選ぶ。

説明等を入力し[OK]すると公開され、ライブラリのURLが発行される。

http://mbed.org/media/uploads/simon/library-tutorial-03.png

URLの末尾の「le586m」などの部分は、公開するたびにバージョンによって変わる。 常に最新のライブラリへリンクさせたい場合はここを「latest」に置き換えるとよい。

Notebook等からリンクする場合は

<<program URL>>

と書く。

ライブラリのフォルダは以下のように開けなくなる。

編集したい場合は、右クリックし、メニューから「Edit Library」を選ぶ。

http://mbed.org/media/uploads/simon/library-tutorial-04.png

備考


詳細 戻る


Please log in to post comments.