|
| 関数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の正体が分りました。 |