25#ifndef _XC_DRV_TIMER_H_
26#define _XC_DRV_TIMER_H_
39#define TIMER_MIN_TLC_VAL 0x04
40#define TIMER_CLKSRC_32K_CAL(us) ( (CLOCK_RC_LFCLK_IN_32K / 1000)*us / 1000)
41#define TIMER_CLKSRC_32K_DIV_CAL(us, div) (32000 /(2 * (div + 1)) /100 * us / 10000)
42#define TIMER_CLKSRC_32M_DIV_CAL(us, div) (32000000 / (2 * (div + 1)) /100000 * us / 10)
46#define TIMER_TCR_TIM_DISABLE (0x00UL)
47#define TIMER_TCR_TIM_ENABLE (0x01UL)
49#define TIMER_TCR_TES_ENABLE (0x01UL)
50#define TIMER_TCR_TES_DISABLE (0x00UL)
Timer_ModeTypeDef timer_mode
TIMER_SrcClkTypeDef timer_src_clk
Timer_DivClkTypeDef timer_div_clk
void xc_timer_init(uint8_t reg_idx, Timer_InitCfg_t *init_cfg)
void xc_timer_start(uint8_t reg_idx)
void timer3_callback(void *context)
void xc_timer_set_value(uint8_t reg_idx, uint32_t us)
void(* timer_handler_callback)(void *context)
void xc_timer_stop(uint8_t reg_idx)
void timer0_callback(void *context)
@ TIMER_DIV_CLK_16MHzOr16K
@ TIMER_DIV_CLK_125KHzOr125
@ TIMER_DIV_CLK_500KHzOr500
@ TIMER_DIV_CLK_250KHzOr250
@ TIMER_DIV_CLK_62500HzOr62_5
void timer2_callback(void *context)
void timer1_callback(void *context)