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しているのかなぁ?