![]() |
関数loopは何なのか? |
loop()は何度も呼び出されているようですが、 定期的または不定期? 呼び出される頻度は? M5Stack basicを購入したので調べてみました。テストプログラムです。 #include <M5Stack.h> #define LOOP_PIN 22 uint8_t g_loopOut = LOW; // the setup routine runs once when M5Stack starts up void setup(){ // Initialize the M5Stack object M5.begin(); M5.Lcd.printf("loop test"); pinMode(LOOP_PIN, OUTPUT); } // the loop routine runs over and over again forever void loop() { if(g_loopOut == LOW){ g_loopOut = HIGH; } else{ g_loopOut = LOW; } digitalWrite(LOOP_PIN, g_loopOut); m5.update(); } 22番ピンを出力ポートにしてloop()が呼び出される毎に出力を反転します。(Lチカのよう)結果です。 ![]() 約14μsの周期で呼び出されています。 オシロスコープをしばらく使わなかったら画面のセーブができなくなっていました。 仕方なくカメラで撮影しました。 とりあえずloopの正体が分りました。 |