## CMSIS Timer Driver Data Structures Type Documentation

### _TIMER_t

Location: Driver_TIMER.h:212

Timer Driver configuration.

Data Fields

Type | Name | Description
--- | --- | ---
TIMER_MODE_t | mode | Timer mode to be used.
TIMER_CLKSRC_t | clk_src | Clock source to be used.
TIMER_GPIO_INT_MODE_t | gpio_mode | GPIO capture mode to be used.
uint32_t | __pad0__ | Reserved.
TIMER_PRESCALE_t | prescale_val | Timer prescale value.
TIMER_MULTI_COUNT_t | multi_cnt | Multi count value.
uint32_t | __pad1__ | Reserved.
TIMER_GPIO_t | gpio_int | GPIO value.
uint32_t | timeout_val | Timer timeout value.

### _SYSTICK_t

Location: Driver_TIMER.h:228

SysTick Driver configuration.

Data Fields

Type | Name | Description
--- | --- | ---
TIMER_SYSTICK_CLKSRC_t | clk_src | Clock source to be used.
uint32_t | __pad0__ | Reserved.
uint32_t | reload_val | SysTick value.

### _TIMER_PRI_CFG_t

Location: Driver_TIMER.h:247

Timer interrupt priority configuration.

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | preempt_pri | Preempt priority.
uint32_t | __pad0__ | Reserved.
uint32_t | subgrp_pri | Subgroup priority.
uint32_t | __pad1__ | Reserved.

### _DRIVER_TIMER_t

Location: Driver_TIMER.h:258

Access structure of the TIMER Driver.

Data Fields

Type | Name | Description
--- | --- | ---
ARM_DRIVER_VERSION(* | GetVersion)(void) | Pointer to TIMER_GetVersion : Get driver version.
int32_t(* | Initialize)(TIMER_SignalEvent_t cb) | Pointer to TIMER_Initialize : Initialize Timer driver.
int32_t(* | Configure)(TIMER_SEL_t sel, const TIMER_CFG_t *cfg) | Pointer to TIMER_Configure : Configure driver.
int32_t(* | SetInterruptPriority)(TIMER_SEL_t sel, const TIMER_PRI_CFG_t *pri) | Pointer to TIMER_SetInterruptPriority : Configure Timer interrupt priority.
int32_t(* | Start)(TIMER_SEL_t sel) | Pointer to TIMER_Start : Start particular Timer.
int32_t(* | Stop)(TIMER_SEL_t sel) | Pointer to TIMER_Stop : Stop particular Timer.
int32_t(* | SetValue)(TIMER_SEL_t sel, uint32_t value) | Pointer to TIMER_SetValue : Set the particular Timer value.
int32_t(* | SetGPIOInterrupt)(TIMER_SEL_t sel) | Pointer to TIMER_SetGPIOInterrupt : Set GPIO interrupt capture status.
uint32_t(* | GetValue)(TIMER_SEL_t sel) | Pointer to TIMER_GetValue : Get the particular Timer value.
uint32_t(* | GetValueCapture)(TIMER_SEL_t sel) | Pointer to TIMER_GetValueCapture : Get the Timer GPIO Interrupt Captured Value.
uint32_t(* | GetSysTickState)(void) | Pointer to TIMER_GetSysTickState : Returns 1 if SysTick has already reached 0.