mbed.orgでsleepを検索すると出てきました。
__wfi();
でsleepするようです。(__wfi();はWait For Interruptという意味らしい。)
ただし、その前にタイマーとかで割り込みをかけるようにしないと、そのままsleepしっぱなしになるようです。
フォーラムの記事の中で書かれていたものをタイマーの時間を秒単位にして使っています。
void sleep_end() {}
void sleep_sec(float s=0.0) {
Timeout t;
if (s > 0.0) {
t.attach(sleep_end, s);
}
__wfi();
}
そこで、 wait(10.0 * 60.0); // wait 10 min 部分をsleep_sec(15.0 * 60.0); // sleep 15 min に書き換えて、昨日から稼働していますが、チップはけっこう熱くなってます。
本当にsleepしているのかなぁ?