はじめに
農業IoT開発やそのほかIoTの勉強の際に気になったことを備忘録としてまとめています。
普段、IoT系記事は下のような感じで書いています。
millis関数とは?
millis関数とは「プログラムが起動してから経過した時間(ミリ秒単位)」を返す関数です。
millis関数はどこからでも呼び出せるグローバルな関数です。したがって、下のようなスケッチを書いてみるとわかりやすいと思います。
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println("=== Start===");
}
void loop() {
showTimeA(); // 関数Aで経過時間を表示
delay(2000); // 2秒待つ
showTimeB(); // 関数Bで経過時間を表示
delay(4000); // 4秒待つ
}
// 関数A:millis()を呼び出して表示
void showTimeA() {
Serial.print("[A] millis() = ");
Serial.println(millis());
}
// 関数B:別の関数でも同じmillis()が進んでいる
void showTimeB() {
Serial.print("[B] millis() = ");
Serial.println(millis());
}
出力としては以下のような感じになるはずです。動作環境によって変わるとは思いますが、46ミリ秒くらいのズレがあることもわかりました。このぐらいのズレは普通みたいですね。
=== Start===
[A] millis() = 2046
[B] millis() = 4046
[A] millis() = 8046
・・・
最後に
今回はmillis関数の使い方を学びました。delayだとプログラムの動作を止めてしまうブロッキング関数ですが、millis()関数はノンブロッキング関数なので使いどころが色々とありそうですね。
おすすめの書籍
もっと詳しくM5Stackについて知りたい!という方はこちらの書籍がおすすめです。とても詳しく載っていてわかりやすいです。
とりあえず何か作ってみたい!という方にはこちらの書籍がおすすめです。書いてある通りにやるだけでお手軽にIoTデバイスを作ることができます。
Arduinoで電子工作したい方にはこちらもおすすめです!Arduinoでどんなことができるのか、一目でわかる一冊になっています。
※Amazonのアソシエイトとして、当メディア(Nラボ備忘録)は適格販売により収入を得ています。
他記事のご紹介
当ブログではさまざまな記事を投稿しています。最近はPythonで物理シミュレーションをやってみたり、JavaScriptの記事も人気が出てきています。ぜひご覧ください。





コメント