20#ifndef HAL_DUALTIMER_H
21#define HAL_DUALTIMER_H
23#if defined(__cplusplus)
27#include "hal_common.h"
29#define DUALTIMER_NUMBER_OF_DUALTIMERS 1
30#define DUALTIMER_MAX_INDEX 1
243 uint32_t index, uint32_t value);
262#if defined(__cplusplus)
enum dualtimer_status DUALTIMER_Stop(DTIM_Type *base, uint32_t index)
Останов сдвоенного таймера
enum dualtimer_status DUALTIMER_Run(DTIM_Type *base, uint32_t index)
Запуск сдвоенного таймера
enum dualtimer_status DUALTIMER_Init(DTIM_Type *base, uint32_t index, struct dualtimer_hardware_config config)
Инициализация сдвоенного таймера
dualtimer_timer_size
Размер счетчика
Definition hal_dualtimer.h:78
enum dualtimer_status DUALTIMER_GetDefaultConfig(struct dualtimer_hardware_config *config)
Создание конфигурации по умолчанию
dualtimer_interrupt_control
Управление прерываниями
Definition hal_dualtimer.h:61
dualtimer_number_of_repetitions
Количество запусков
Definition hal_dualtimer.h:86
dualtimer_work_enable
Разрешение работы таймера
Definition hal_dualtimer.h:45
uint32_t DUALTIMER_GetRawStatus(DTIM_Type *base, uint32_t index)
Получение немаскированного статуса сдвоенного таймера
enum dualtimer_status DUALTIMER_IrqClr(DTIM_Type *base, uint32_t index)
Сброс прерывания от таймера
dualtimer_prescale
Предделители частоты
Definition hal_dualtimer.h:69
dualtimer_mode
Режим работы таймера
Definition hal_dualtimer.h:53
dualtimer_status
Статусы драйвера сдвоенного таймера
Definition hal_dualtimer.h:35
enum dualtimer_status DUALTIMER_Reload(DTIM_Type *base, uint32_t index, uint32_t value)
Немедленная перезапись значения таймера
uint32_t DUALTIMER_GetStatus(DTIM_Type *base, uint32_t index)
Получение маскированного статуса сдвоенного таймера
enum dualtimer_status DUALTIMER_Deinit(DTIM_Type *base, uint32_t index)
Деинициализация сдвоенного таймера
uint32_t DUALTIMER_GetTick(DTIM_Type *base, uint32_t index)
Получение количества тиков
enum dualtimer_status DUALTIMER_GetAPIStatus()
Получение результата последнего выполнения функции
@ DUALTIMER_TimerSize32
Definition hal_dualtimer.h:80
@ DUALTIMER_TimerSize16
Definition hal_dualtimer.h:79
@ DUALTIMER_InterruptDisable
Definition hal_dualtimer.h:62
@ DUALTIMER_InterruptEnable
Definition hal_dualtimer.h:63
@ DUALTIMER_WrappingMode
Definition hal_dualtimer.h:87
@ DUALTIMER_OneShot
Definition hal_dualtimer.h:88
@ DUALTIMER_Disable
Definition hal_dualtimer.h:46
@ DUALTIMER_Enable
Definition hal_dualtimer.h:47
@ DUALTIMER_Prescale1
Definition hal_dualtimer.h:70
@ DUALTIMER_Prescale16
Definition hal_dualtimer.h:71
@ DUALTIMER_Prescale256
Definition hal_dualtimer.h:72
@ DUALTIMER_Periodic
Definition hal_dualtimer.h:55
@ DUALTIMER_FreeRunning
Definition hal_dualtimer.h:54
@ DUALTIMER_Status_BadConfigure
Definition hal_dualtimer.h:39
@ DUALTIMER_Status_TimerBusy
Definition hal_dualtimer.h:38
@ DUALTIMER_Status_Ok
Definition hal_dualtimer.h:36
@ DUALTIMER_Status_InvalidArgument
Definition hal_dualtimer.h:37
Конфигурация аппаратной части сдвоенного таймера
Definition hal_dualtimer.h:94
uint32_t bg_load
Definition hal_dualtimer.h:96
enum dualtimer_work_enable enable
Definition hal_dualtimer.h:97
enum dualtimer_prescale prescale
Definition hal_dualtimer.h:100
enum dualtimer_number_of_repetitions cyclicity
Definition hal_dualtimer.h:102
enum dualtimer_timer_size size
Definition hal_dualtimer.h:101
uint32_t load
Definition hal_dualtimer.h:95
enum dualtimer_interrupt_control int_ctrl
Definition hal_dualtimer.h:99
enum dualtimer_mode mode
Definition hal_dualtimer.h:98