基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
Ethernet
サーボモーター
ステッピングモーター
キャラクタ液晶表示
SPI通信
I2C通信(Wire)
SD
SD(File操作)
周期処理(MsTimer2)
時計(RTC)
PPG(パルス生成)
WiFiEsp
ICS(シリアルサーボ)
FreeRTOS Tips
時間
指定時間待ったり、時間を測るライブラリです。
millis
- 概要
- 起動してからの時間をミリ秒単位で返します。約50日でオーバーフローして0に戻ります。
- 文法
- unsigned long millis()
- パラメータ
- なし
- 戻り値
- 起動してからの時間[ms](unsigned long)
micros
- 概要
- 起動してからの時間をマイクロ秒単位で返します。約70分でオーバーフローして0に戻ります。
- 文法
- unsigned long micros()
- パラメータ
- なし
- 戻り値
- 起動してからの時間[us](unsigned long)
delay
- 概要
- プログラムを指定した時間だけ一時停止します。単位はミリ秒です。
- 文法
- delay(unsigned long ms)
- パラメータ
- ms: 一時停止する時間[ms]。
- 戻り値
- なし
- 補足
- FreeRTOSのvTaskDelayを使用しているため、タスクスイッチが行われます。
delayMicroseconds
- 概要
- プログラムを指定した時間だけ一時停止します。単位はマイクロ秒です。
- 文法
- delayMicroseconds(unsigned long us)
- パラメータ
- us: 一時停止する時間[us]。
- 戻り値
- なし
- 補足
- delayと異なりFreeRTOSのvTaskDelayを使用していないため、停止中にタスクスイッチは行われません。
サンプルプログラム
起動してからの時間を100ms間隔でシリアル通信を使用して表示します。
#include <Arduino.h>
#define INTERVAL 100
unsigned long val_time;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val_time = millis();
Serial.println( val_time );
delay(INTERVAL);
}