|
Nol.A SDK Library 26.11.2
For IoT System Software Development
|
Timer는 일정 시간 이후에 1회 실행될 작업, 매 일정 시간마다 실행될 작업 등을 위한 기능입니다. More...
#include <Timer.hpp>
Public Member Functions | |
| bool | startOneShot (uint32_t millis, bool interrupt=false) |
작업함수를 millis 밀리초 이후 1회 실행합니다. | |
| bool | startPeriodic (uint32_t millis, bool interrupt=false) |
작업함수를 매 millis 밀리초 주기로 반복하여 실행합니다. | |
| bool | startOneShotMicros (uint32_t micros, bool interrupt=false) |
작업함수를 micros 마이크로초 이후 1회 실행합니다. | |
| bool | startPeriodicMicros (uint32_t micros, bool interrupt=false) |
작업함수를 매 micros 마이크로초 주기로 반복하여 실행합니다. | |
| void | stop () |
| 예약된, 혹은 측정 중인 Timer를 중단합니다. | |
| void | onFired (void(*func)(void *), void *args=nullptr) |
| 타이머 만료시 실행시킬 작업함수를 지정합니다. | |
| void * | getCallback () |
| 콜백함수 포인터를 반환합니다. | |
| void * | getCallbackArg () |
| 콜백함수 인자를 반환합니다. | |
| void | fire () |
| 타이머에 지정된 작업함수를 바로 호출합니다. | |
| bool | isRunning () |
| Timer가 활성화된 상태인지 확인한다. | |
| bool | isOneShot (void) |
| Timer가 1회성인지 확인합니다. | |
| uint32_t | getNow () |
| Timer에 저장된 시간을 마이크로초 단위로 반환합니다. | |
| uint64_t | getElapsedTicks () |
| Timer가 설정된 후 현재까지 지나간 시간을 하드웨어 카운터 값 그대로 반환합니다. | |
| HardwareTimerTick_t | getNowTicks () |
| void | debugPrintTo (Print &) |
| struct timeval | getElapsedTime () |
| Timer가 설정된 후 현재까지 지나간 시간을 반환합니다. | |
| struct timeval | getRemainingTime () |
| Timer가 만료되기까지 남은 시간을 반환합니다. | |
Public Attributes | |
| uint16_t | numExpired |
Timer는 일정 시간 이후에 1회 실행될 작업, 매 일정 시간마다 실행될 작업 등을 위한 기능입니다.
Timer는 MCU에 내장된 하드웨어 타이머의 기능을 소프트웨어에서 사용하기 위한 API를 제공합니다.
|
inline |
Timer에 저장된 시간을 마이크로초 단위로 반환합니다.
|
inline |
| bool Timer::isOneShot | ( | void | ) |
Timer가 1회성인지 확인합니다.
| bool Timer::isRunning | ( | ) |
Timer가 활성화된 상태인지 확인한다.
| void Timer::onFired | ( | void(* | func )(void *), |
| void * | args = nullptr ) |
타이머 만료시 실행시킬 작업함수를 지정합니다.
작업함수 func 는 args 인자와 함께 호출됩니다.
| func | 작업함수의 포인터 |
| args | 작업함수의 인자로 호출될 파라미터 |
| bool Timer::startOneShot | ( | uint32_t | millis, |
| bool | interrupt = false ) |
작업함수를 millis 밀리초 이후 1회 실행합니다.
| millis | 작업을 실행하기 까지의 대기 시간(단위:밀리초). 최대 값은 4294967 밀리초입니다. |
| interrupt | true 이면, 작업을 실행할 때 interrupt 모드에서 바로 실행합니다. 현재 실행 중인 작업을 중단하고 해당 작업을 실행하므로 타이밍이 중요한 응용에서 사용할 수 있습니다. false 이면, 스케줄러에 작업을 등록하고 현재 실행 중인 작업이 완료된 후 실행합니다. |
| bool Timer::startOneShotMicros | ( | uint32_t | micros, |
| bool | interrupt = false ) |
작업함수를 micros 마이크로초 이후 1회 실행합니다.
| micros | 작업을 실행하기 까지의 대기 시간(단위: 마이크로초). 최대 값은 4294967295 마이크로초 입니다. |
| interrupt | true 이면, 작업을 실행할 때 interrupt 모드에서 바로 실행합니다. 현재 실행 중인 작업을 중단하고 해당 작업을 실행하므로 타이밍이 중요한 응용에서 사용할 수 있습니다. false 이면, 스케줄러에 작업을 등록하고 현재 실행 중인 작업이 완료된 후 실행합니다. |
| bool Timer::startPeriodic | ( | uint32_t | millis, |
| bool | interrupt = false ) |
작업함수를 매 millis 밀리초 주기로 반복하여 실행합니다.
| millis | 작업을 실행할 주기(단위:밀리초). 최대 값은 4294967 밀리초입니다. |
| interrupt | true 이면, 작업을 실행할 때 interrupt 모드에서 바로 실행합니다. 현재 실행 중인 작업을 중단하고 해당 작업을 실행하므로 타이밍이 중요한 응용에서 사용할 수 있습니다. false 이면, 스케줄러에 작업을 등록하고 현재 실행 중인 작업이 완료된 후 실행합니다. |
| bool Timer::startPeriodicMicros | ( | uint32_t | micros, |
| bool | interrupt = false ) |
작업함수를 매 micros 마이크로초 주기로 반복하여 실행합니다.
| micros | 작업을 실행할 주기(단위: 마이크로초). 최대 값은 4294967295 마이크로초 입니다. |
| interrupt | true 이면, 작업을 실행할 때 interrupt 모드에서 바로 실행합니다. 현재 실행 중인 작업을 중단하고 해당 작업을 실행하므로 타이밍이 중요한 응용에서 사용할 수 있습니다. false 이면, 스케줄러에 작업을 등록하고 현재 실행 중인 작업이 완료된 후 실행합니다. |