timer¶
内部関数です。通常は使いません。
利用方法¶
#include <driver/timer.h>上記宣言で利用できます。
メンバー¶
timer_get_counter_value()¶
Read the counter value of hardware timer.
esp_err_t timer_get_counter_value(timer_group_t group_num, timer_idx_t timer_num, uint64_t *timer_val)引数
- timer_group_t group_numTimer group, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- uint64_t * timer_valPointer to accept timer counter value.
戻り値
esp_err_t
timer_get_counter_time_sec()¶
Read the counter value of hardware timer, in unit of a given scale.
esp_err_t timer_get_counter_time_sec(timer_group_t group_num, timer_idx_t timer_num, double *time)引数
- timer_group_t group_numTimer group, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- double * timePointer, type of double*, to accept timer counter value, in seconds.
戻り値
esp_err_t
timer_set_counter_value()¶
Set counter value to hardware timer.
esp_err_t timer_set_counter_value(timer_group_t group_num, timer_idx_t timer_num, uint64_t load_val)引数
- timer_group_t group_numTimer group, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- uint64_t load_valCounter value to write to the hardware timer.
戻り値
esp_err_t
timer_start()¶
Start the counter of hardware timer.
esp_err_t timer_start(timer_group_t group_num, timer_idx_t timer_num)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
戻り値
esp_err_t
timer_pause()¶
Pause the counter of hardware timer.
esp_err_t timer_pause(timer_group_t group_num, timer_idx_t timer_num)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
戻り値
esp_err_t
timer_set_counter_mode()¶
Set counting mode for hardware timer.
esp_err_t timer_set_counter_mode(timer_group_t group_num, timer_idx_t timer_num, timer_count_dir_t counter_dir)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- timer_count_dir_t counter_dirCounting direction of timer, count-up or count-down
戻り値
esp_err_t
timer_set_auto_reload()¶
Enable or disable counter reload function when alarm event occurs.
esp_err_t timer_set_auto_reload(timer_group_t group_num, timer_idx_t timer_num, timer_autoreload_t reload)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- timer_autoreload_t reloadCounter reload mode.
戻り値
esp_err_t
timer_set_divider()¶
Set hardware timer source clock divider. Timer groups clock are divider from APB clock.
esp_err_t timer_set_divider(timer_group_t group_num, timer_idx_t timer_num, uint32_t divider)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- uint32_t dividerTimer clock divider value. The divider's range is from from 2 to 65536.
戻り値
esp_err_t
timer_set_alarm_value()¶
Set timer alarm value.
esp_err_t timer_set_alarm_value(timer_group_t group_num, timer_idx_t timer_num, uint64_t alarm_value)引数
- timer_group_t group_numTimer group, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- uint64_t alarm_valueA 64-bit value to set the alarm value.
戻り値
esp_err_t
timer_get_alarm_value()¶
Get timer alarm value.
esp_err_t timer_get_alarm_value(timer_group_t group_num, timer_idx_t timer_num, uint64_t *alarm_value)引数
- timer_group_t group_numTimer group, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- uint64_t * alarm_valuePointer of A 64-bit value to accept the alarm value.
戻り値
esp_err_t
timer_set_alarm()¶
Enable or disable generation of timer alarm events.
esp_err_t timer_set_alarm(timer_group_t group_num, timer_idx_t timer_num, timer_alarm_t alarm_en)引数
- timer_group_t group_numTimer group, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- timer_alarm_t alarm_enTo enable or disable timer alarm function.
戻り値
esp_err_t
timer_isr_register()¶
Register Timer interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.
esp_err_t timer_isr_register(timer_group_t group_num, timer_idx_t timer_num, void(*fn)(void *), void *arg, int intr_alloc_flags, timer_isr_handle_t *handle)引数
- timer_group_t group_numTimer group number
- timer_idx_t timer_numTimer index of timer group
- void()(void ) fnInterrupt handler function.
- void * argParameter for handler function
- int intr_alloc_flagsFlags used to allocate the interrupt. One or multiple (ORred) ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info.
- timer_isr_handle_t* handlePointer to return handle. If non-NULL, a handle for the interrupt will be returned here.
戻り値
esp_err_t
timer_init()¶
Initializes and configure the timer.
esp_err_t timer_init(timer_group_t group_num, timer_idx_t timer_num, const timer_config_t *config)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- timer_config_tconst  * configPointer to timer initialization parameters.
戻り値
esp_err_t
timer_get_config()¶
Get timer configure value.
esp_err_t timer_get_config(timer_group_t group_num, timer_idx_t timer_num, timer_config_t *config)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index, 0 for hw_timer[0] & 1 for hw_timer[1]
- timer_config_t* configPointer of struct to accept timer parameters.
戻り値
esp_err_t
timer_group_intr_enable()¶
Enable timer group interrupt, by enable mask
esp_err_t timer_group_intr_enable(timer_group_t group_num, uint32_t en_mask)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- uint32_t en_maskTimer interrupt enable mask. Use TIMG_T0_INT_ENA_M to enable t0 interrupt Use TIMG_T1_INT_ENA_M to enable t1 interrupt
戻り値
esp_err_t
timer_group_intr_disable()¶
Disable timer group interrupt, by disable mask
esp_err_t timer_group_intr_disable(timer_group_t group_num, uint32_t disable_mask)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- uint32_t disable_maskTimer interrupt disable mask. Use TIMG_T0_INT_ENA_M to disable t0 interrupt Use TIMG_T1_INT_ENA_M to disable t1 interrupt
戻り値
esp_err_t
timer_enable_intr()¶
Enable timer interrupt
esp_err_t timer_enable_intr(timer_group_t group_num, timer_idx_t timer_num)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index.
戻り値
esp_err_t
timer_disable_intr()¶
Disable timer interrupt
esp_err_t timer_disable_intr(timer_group_t group_num, timer_idx_t timer_num)引数
- timer_group_t group_numTimer group number, 0 for TIMERG0 or 1 for TIMERG1
- timer_idx_t timer_numTimer index.
戻り値
esp_err_t