일정 시간 간격으로 반복하여 interrupt 발생
Ticker led2_ticker;
led2_ticker.attach(&timeout_cb,0.5);
//0.5초마다 timeout_cb()실행
led2_ticekr.detach()
일정 시간 후에 한번만 interrupt 발생시키는 목적으로 사용
TimeOut led2_timeout;
led2_timeout.attach(&tout_cb, 1.0);
//1초 후 tout_cb()실행
경과 시간을 측정할 목적으로 사용될 수 있음
Timer timer;
timer.start();
timer.stop();
timer.reset();
//경과 시간을 읽을 때의 문법은 다음과 같이 변경 되었다.
auto f = chrono::duration<float>(t.elapsed_time()).count();
auto s = chrono::duration_cast<chrono::seconds>(t.elapsed_time()).count();
auto ms = chrono::duration_cast<chrono::milliseconds>(t.elapsed_time()).count();
auto us = t.elapsed_time().count();
LowPowerTicker, LowPowerTimeout, LowPowerTimer도 있다. 동일한 method를 가지고 있으나 deep sleep mode에서 동작하고 resolution이 더 적다. millisecond accuracy정도면 충분하다면 사용 가능.
ISR 내에서는 wait()이나 오래 걸리는 함수의 실행시키면 안 된다. printf, malloc, new와 같은..