Go to the documentation of this file.
52 #ifndef HAL_DUAL_TIMER_H
53 #define HAL_DUAL_TIMER_H
213 #define DUAL_TIMER_PRESCALER_DIV0 LL_DUAL_TIMER_PRESCALER_DIV0
214 #define DUAL_TIMER_PRESCALER_DIV16 LL_DUAL_TIMER_PRESCALER_DIV16
215 #define DUAL_TIMER_PRESCALER_DIV256 LL_DUAL_TIMER_PRESCALER_DIV256
221 #define DUAL_TIMER_COUNTERMODE_LOOP 0x00000000U
222 #define DUAL_TIMER_COUNTERMODE_ONESHOT DUAL_TIMER_CTRL_ONESHOT
228 #define DUAL_TIMER_IO_INIT_RESET LL_DUAL_TIMER_IO_INIT_RESET
229 #define DUAL_TIMER_IO_INIT_SET LL_DUAL_TIMER_IO_INIT_SET
235 #define DUAL_TIMER_IO_ACTION_NONE LL_DUAL_TIMER_IO_ACTION_NONE
236 #define DUAL_TIMER_IO_ACTION_SET LL_DUAL_TIMER_IO_ACTION_SET
237 #define DUAL_TIMER_IO_ACTION_RESET LL_DUAL_TIMER_IO_ACTION_RESET
238 #define DUAL_TIMER_IO_ACTION_TOGGLE LL_DUAL_TIMER_IO_ACTION_TOGGLE
252 #define __HAL_DUAL_TIMER_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->state = HAL_DUAL_TIMER_STATE_RESET)
258 #define __HAL_DUAL_TIMER_ENABLE(__HANDLE__) SET_BITS((__HANDLE__)->p_instance->CTRL, DUAL_TIMER_CTRL_EN)
264 #define __HAL_DUAL_TIMER_DISABLE(__HANDLE__) CLEAR_BITS((__HANDLE__)->p_instance->CTRL, DUAL_TIMER_CTRL_EN)
270 #define __HAL_DUAL_TIMER_ENABLE_IT(__HANDLE__) SET_BITS((__HANDLE__)->p_instance->CTRL, DUAL_TIMER_CTRL_INTEN)
276 #define __HAL_DUAL_TIMER_DISABLE_IT(__HANDLE__) CLEAR_BITS((__HANDLE__)->p_instance->CTRL, DUAL_TIMER_CTRL_INTEN)
282 #define __HAL_DUAL_TIMER_GET_FLAG_IT(__HANDLE__) ll_dual_timer_is_active_flag_it(__HANDLE__->p_instance)
288 #define __HAL_DUAL_TIMER_CLEAR_FLAG_IT(__HANDLE__) ll_dual_timer_clear_flag_it(__HANDLE__->p_instance)
301 #define IS_DUAL_TIMER_PRESCALER(__PRESCALER__) (((__PRESCALER__) == DUAL_TIMER_PRESCALER_DIV0) || \
302 ((__PRESCALER__) == DUAL_TIMER_PRESCALER_DIV16) || \
303 ((__PRESCALER__) == DUAL_TIMER_PRESCALER_DIV256))
309 #define IS_DUAL_TIMER_COUNTERMODE(__MODE__) (((__MODE__) == DUAL_TIMER_COUNTERMODE_LOOP) || \
310 ((__MODE__) == DUAL_TIMER_COUNTERMODE_ONESHOT))
316 #define IS_DUAL_TIMER_IO_INIT_STATE(__MODE__) (((__MODE__) == DUAL_TIMER_IO_INIT_RESET) || \
317 ((__MODE__) == DUAL_TIMER_IO_INIT_SET))
323 #define IS_DUAL_TIMER_IO_ACT_MODE(__MODE__) (((__MODE__) == DUAL_TIMER_IO_ACTION_NONE) || \
324 ((__MODE__) == DUAL_TIMER_IO_ACTION_SET)) || \
325 ((__MODE__) == DUAL_TIMER_IO_ACTION_RESET)) || \
326 ((__MODE__) == DUAL_TIMER_IO_ACTION_TOGGLE))
struct _hal_dual_timer_callback hal_dual_timer_callback_t
HAL_DUAL_TIMER Callback function definition.
void hal_dual_timer_act_stop_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer stop callback in non-blocking mode.
hal_dual_timer_state_t hal_dual_timer_get_state(const dual_timer_handle_t *p_dual_timer)
Return the DUAL TIMER handle state.
HAL_DUAL_TIMER Callback function definition.
hal_status_t hal_dual_timer_base_deinit(dual_timer_handle_t *p_dual_timer)
De-initialize the DUAL TIMER peripheral.
@ HAL_DUAL_TIMER_STATE_RESET
@ HAL_DUAL_TIMER_STATE_BUSY
struct _dual_timer_io_ctrl_cfg dual_timer_io_ctrl_cfg_t
DUAL TIMER io crtl config Structure definition.
@ HAL_DUAL_TIMER_STATE_READY
void(* dual_timer_msp_init)(dual_timer_handle_t *p_dual_timer)
hal_dual_timer_channel_t
HAL DUAL TIMER Channel Enumerations definition.
@ HAL_DUAL_TIMER_STATE_ERROR
dual_timer_io_ctrl_cfg_t io_crtl_cfg
hal_status_t hal_dual_timer_set_background_reload(dual_timer_handle_t *p_dual_timer, uint32_t reload_value)
DUAL TIMER set background reload value The background reload value contains the value from which the ...
Header file containing functions prototypes of DUAL TIMER LL library.
@ HAL_DUAL_TIMER_CHANNEL_B
hal_status_t hal_dual_timer_io_crtl_config(const dual_timer_handle_t *p_dual_timer, const dual_timer_io_ctrl_cfg_t *p_structure)
DUAL TIMER io ctrl configuration This function call must be after hal_dual_timer_base_init.
DUAL_TIMER handle Structure definition.
hal_status_t hal_dual_timer_base_stop(dual_timer_handle_t *p_dual_timer)
Stops the DUAL TIMER counter.
void hal_dual_timer_act_period_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to 0 callback in non-blocking mode.
DUAL TIMER io crtl config Structure definition.
void hal_dual_timer_ble_pulse2_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to BLE_COUNT2 callback in non-blocking mode.
dual_timer_regs_t * p_instance
void(* dual_timer_msp_deinit)(dual_timer_handle_t *p_dual_timer)
void hal_dual_timer_iob_act_c2_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to COUNT_B2IO callback in non-blocking mode.
hal_status_t hal_dual_timer_set_onetime_reload(const dual_timer_handle_t *p_dual_timer, uint32_t reload_value)
DUAL TIMER set one-time reload value The one-time reload value contains the value from which the coun...
hal_status_t hal_dual_timer_set_period_count(const dual_timer_handle_t *p_dual_timer, uint32_t count_value)
DUAL TIMER set period count value The value is valid when the value is greater than 1....
hal_status_t hal_dual_timer_set_config(dual_timer_handle_t *p_dual_timer, const dual_timer_init_t *p_structure)
DUAL TIMER configuration.
@ HAL_DUAL_TIMER_CHANNEL_A
DUAL TIMER init Structure definition.
hal_status_t hal_dual_timer_base_start(dual_timer_handle_t *p_dual_timer)
Starts the DUAL TIMER counter.
void hal_dual_timer_ioc_act_c2_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to COUNT_C2IO callback in non-blocking mode.
hal_status_t
HAL Status structures definition.
void hal_dual_timer_base_msp_deinit(dual_timer_handle_t *p_dual_timer)
De-initialize the DUAL TIMER MSP.
This file contains HAL common definitions, enumeration, macros and structures definitions.
hal_status_t hal_dual_timer_base_start_it(dual_timer_handle_t *p_dual_timer)
Starts the DUAL TIMER counter in interrupt mode.
hal_dual_timer_state_t
HAL DUAL TIMER State Enumerations definition.
void hal_dual_timer_ioc_act_c1_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to COUNT_C1IO callback in non-blocking mode.
struct _dual_timer_handle dual_timer_handle_t
DUAL_TIMER handle Structure definition.
hal_dual_timer_channel_t channel
void hal_dual_timer_ioa_act_c1_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to COUNT_A1IO callback in non-blocking mode.
void hal_dual_timer_iob_act_c1_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to COUNT_B1IO callback in non-blocking mode.
hal_status_t hal_dual_timer_base_init(dual_timer_handle_t *p_dual_timer)
Initialize the DUAL TIMER according to the specified parameters in the dual_timer_init_t and initiali...
struct _dual_timer_init dual_timer_init_t
DUAL TIMER init Structure definition.
void hal_dual_timer_irq_handler(dual_timer_handle_t *p_dual_timer)
Handle DUAL TIMER interrupt request.
__IO hal_dual_timer_state_t state
void hal_dual_timer_ioa_act_c2_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to COUNT_A2IO callback in non-blocking mode.
void hal_dual_timer_period_elapsed_callback(dual_timer_handle_t *p_dual_timer)
Period elapsed callback in non-blocking mode.
void(* dual_timer_period_elapsed_callback)(dual_timer_handle_t *p_dual_timer)
hal_status_t hal_dual_timer_base_stop_it(dual_timer_handle_t *p_dual_timer)
Stops the DUAL TIMER counter in interrupt mode.
void hal_dual_timer_act_start_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer start callback in non-blocking mode.
@ HAL_DUAL_TIMER_CHANNEL_C
void hal_dual_timer_base_msp_init(dual_timer_handle_t *p_dual_timer)
Initialize the DUAL TIMER MSP.
void hal_dual_timer_ble_pulse1_event_callback(dual_timer_handle_t *p_dual_timer)
Action when timer value meets to BLE_COUNT1 callback in non-blocking mode.