NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(MsTimer2ライブラリの使い方)

MsTimer2ライブラリ
 MsTimer2はTimer2を人間とインターフェースするための、小さくて使いやすいライブラリです。
 Timer2で1ミリ秒の分解能を「ハードコード」するため、MsTimer2と呼ばれています。

 Arduino IDEで使用するMsTimer2ライブラリArduinoUNO等での使い方は以下の通りです。
 最新のライブラリはコチラで配布されていますのでMsTimer2.zip」をダウンロードし、ArduinoIDEメニューから「スケッチ」→「ライブラリをインクルード」→「.ZIP形式のライブラリをインストール」をクリックし、ダウンロードしたファイルを選択しインストールします。
 インストール後に図1に示すように<MsTimer2.h>をインクルードする事で、MsTimer2ライブラリが利用可能になります。
 setup関数で13ピンを出力に設定し、MsTimer2ライブラリのset関数で500ms毎にflash関数を実行する様に設定します。
 MsTimer2ライブラリのstart関数で13ピンへの割り込みを許可し500ms間隔で13ピンに接続されたLEDを点滅します。
// 1秒ごとに13番ピンのLEDをトグル
#include <MsTimer2.h>

void flash() {
 static boolean output = HIGH;
 digitalWrite(13, output);
 output = !output;}

void setup() {
 pinMode(13, OUTPUT);
 MsTimer2::set(500, flash); // 
500msの期間
 MsTimer2::start();}

void loop() {}
イメージ 1
図2:プログラムの内容
1.set関数
 この関数はオーバーフローのための時間をミリ秒単位で設定します。それぞれのオーバーフロー "f"が呼び出されます。
 "f"はパラメータなしでvoid宣言しなければなりません。

構文
 MsTimer2::set(unsigned long ms, void (*f)())

パラメータ
 unsigned long ms : 時間をミリ秒単位で設定します。
 void (*f)() : 設定時間後に実行する関数名を記入します。

戻り値
 特に無し
2.start関数
 割り込みを許可します。

構文
 MsTimer2::start()

パラメータ
 特に無し

戻り値
 特に無し
3.stop関数
 割り込みを無効にします。

構文
 MsTimer2::stop()

パラメータ
 特に無し

戻り値
 特に無し

イメージ 1イメージ 3
励みになりますのでよければクリック下さい(^o^)/



この商品は、スイッチサイエンスウェブショップが販売し、Amazon.co.jp が発送します。 この出品商品にはコンビニ・ATM・ネットバンキング・電子マネー払いが利用できます。