Timer - タイマー時間

Timer

Information

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

時間計測や経過時間を知ることのできるタイマーです。

初期化

Timer name;

name: 名前(自由に決めて良い)

スタート

name.start();

タイマーの動作を開始し、時間を計測します。

ストップ

name.stop();

タイマーの動作を停止します。

リセット

name.reset();

タイマーを 0 にリセットします。

時間読み取り

val = name.read();

valには秒単位の時間が代入されます。

ミリ秒単位の read_ms() 、マイクロ秒単位の read_us() もあります。

文字列を出力するのにかかる時間を計測します

#include "mbed.h"

Timer t;

int main() {
    t.start();
    printf("Hello World!\n");
    t.stop();
    printf("The time taken was %f seconds\n", t.read());
}

Warning

このタイマーは1usを 32bit int で扱っているため、約35分でオーバーフローします。
それまでにタイマーを0にリセットて使ったほうがいいでしょう。


詳細 戻る


4 comments on Timer - タイマー時間:

25 Oct 2012

いつも参考にさせていただいています。 ところで、mbedにはタイマはいくつ入っているのでしょうか? 仕様等を見ましたがわからなかったです。

17 Mar 2013

sbtns1

初心者です。 以下のプログラムでprintfがありますが、これはどこに表示されますか? もし、コンソールに表示する場合はUSBTX等の記述がいる様に思うのですが、 宜しく御教授ください。

  1. include "mbed.h"

Timer t;

int main() { t.start(); printf("Hello World!\n"); t.stop(); printf("The time taken was %f seconds\n", t.read()); }

27 Apr 2013

Serial pc(USBTX, USBRX); tx, rx

and then using a "pc.printf" instead of printf...

12 Sep 2014

mbedライブラリのタイマー機能は、ハードウェアのタイマーで1us(1MHz)を作って、そこからソフトウェアで時刻を刻んでいるようです。 ですので、ハードウェアのタイマーの数を気にせず使えるようになっています。

シリアルは確かに Serial pc(USBTX, USBRX); があったほうがよいですね。 省略した場合は、USBシリアルに9600bpsで出力されるようです。

Please log in to post comments.