ELIOT1 HAL
Загрузка...
Поиск...
Не найдено
Драйвер модуля WDT

Драйвер сторожевого таймера Подробнее...

Файлы

файл  hal_wdt.h
 Интерфейс драйвера сторожевого таймера
 

Структуры данных

struct  wdt_config
 Структура инициализации сторожевого таймера Подробнее...
 

Макросы

#define WDT_NUMBER_OF_TIMERS   3
 

Перечисления

enum  wdt_status
 Статусы драйвера сторожевого таймера Подробнее...
 
enum  wdt_resen_type
 Управление сбросом при таймауте сторожевого таймера Подробнее...
 
enum  wdt_inten_type
 Управление прерыванием предупреждения от сторожевого таймера\ и разрешением работы таймера Подробнее...
 

Инициализация и деинициализации таймера

enum wdt_status WDT_GetDefaultConfig (struct wdt_config *config)
 Создание конфигурации по умолчанию
 
enum wdt_status WDT_Init (WDT_Type *base, const struct wdt_config *config)
 Инициализация таймера
 
enum wdt_status WDT_Deinit (WDT_Type *base)
 Деинициализация таймера
 

Функции управления WDT

enum wdt_status WDT_Enable (WDT_Type *base)
 Разрешение работы таймера
 
enum wdt_status WDT_Disable (WDT_Type *base)
 Запрещение работы таймера
 
uint32_t WDT_GetStatusFlagsRaw (WDT_Type *base)
 Получение немаскированных статусов таймера
 
uint32_t WDT_GetStatusFlagsMsk (WDT_Type *base)
 Получение маскированных статусов таймера
 
enum wdt_status WDT_ClearStatusFlags (WDT_Type *base, uint32_t mask)
 Очищение статусов таймера
 
enum wdt_status WDT_SetWarningValue (WDT_Type *base, uint32_t warning_value)
 Установка времени срабатывания предупреждения
 
enum wdt_status WDT_SetTimeoutValue (WDT_Type *base, uint32_t timeout_count)
 Установка времени таймаута таймера
 
uint32_t WDT_GetWarningValue (WDT_Type *base)
 Получение значения счетчика
 
enum wdt_status WDT_Refresh (WDT_Type *base)
 Обновление времени сторожевого таймера
 
enum wdt_status WDT_GetLastAPIStatus ()
 Получение статуса выполнения функции, тип результата которой отличен от enum wdt_status.
 

Подробное описание

Драйвер сторожевого таймера

Драйвер модуля сторожевого таймера управляет сторожевым таймером.

Макросы

◆ WDT_NUMBER_OF_TIMERS

#define WDT_NUMBER_OF_TIMERS   3

Количество сдвоенных таймеров

Перечисления

◆ wdt_inten_type

Управление прерыванием предупреждения от сторожевого таймера\ и разрешением работы таймера

Элементы перечислений
WDT_IntenDisable 

Прерывание запрещёно, таймер не работает

WDT_IntenEnable 

Прерывание разрешено, таймер работает

◆ wdt_resen_type

Управление сбросом при таймауте сторожевого таймера

Элементы перечислений
WDT_ResenDisable 

Сброс запрещён

WDT_ResenEnable 

Сброс разрешен

◆ wdt_status

enum wdt_status

Статусы драйвера сторожевого таймера

Элементы перечислений
WDT_Status_Ok 

Нет ошибок

WDT_Status_InvalidArgument 

Недопустимый аргумент

WDT_Status_TimerBusy 

Таймер уже занят

WDT_Status_BadConfigure 

Недопустимая конфигурация

Функции

◆ WDT_ClearStatusFlags()

enum wdt_status WDT_ClearStatusFlags ( WDT_Type * base,
uint32_t mask )

Очищение статусов таймера

Аргументы
baseТаймер
maskМаска статусов
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_Deinit()

enum wdt_status WDT_Deinit ( WDT_Type * base)

Деинициализация таймера

Функция деинициализации таймера

Аргументы
baseТаймер
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_Disable()

enum wdt_status WDT_Disable ( WDT_Type * base)

Запрещение работы таймера

Аргументы
baseТаймер
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_Enable()

enum wdt_status WDT_Enable ( WDT_Type * base)

Разрешение работы таймера

Аргументы
baseТаймер
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_GetDefaultConfig()

enum wdt_status WDT_GetDefaultConfig ( struct wdt_config * config)

Создание конфигурации по умолчанию

Функция инициализации структуры с настройками таймера "по умолчанию":

config->enableWwdt = true; ...
Аргументы
configКонфигурация таймера
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_GetLastAPIStatus()

enum wdt_status WDT_GetLastAPIStatus ( )

Получение статуса выполнения функции, тип результата которой отличен от enum wdt_status.

Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument
WDT_Status_TimerBusy
WDT_Status_BadConfigure

◆ WDT_GetStatusFlagsMsk()

uint32_t WDT_GetStatusFlagsMsk ( WDT_Type * base)

Получение маскированных статусов таймера

Аргументы
baseТаймер

◆ WDT_GetStatusFlagsRaw()

uint32_t WDT_GetStatusFlagsRaw ( WDT_Type * base)

Получение немаскированных статусов таймера

Аргументы
baseТаймер

◆ WDT_GetWarningValue()

uint32_t WDT_GetWarningValue ( WDT_Type * base)

Получение значения счетчика

Аргументы
baseТаймер
Возвращает
Значение счетчика

◆ WDT_Init()

enum wdt_status WDT_Init ( WDT_Type * base,
const struct wdt_config * config )

Инициализация таймера

Функция инициализации таймера с указанными настройками

Аргументы
baseТаймер
configКонфигурация таймера
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_Refresh()

enum wdt_status WDT_Refresh ( WDT_Type * base)

Обновление времени сторожевого таймера

Аргументы
baseТаймер
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_SetTimeoutValue()

enum wdt_status WDT_SetTimeoutValue ( WDT_Type * base,
uint32_t timeout_count )

Установка времени таймаута таймера

Установка времени таймаута таймера в значениях периода частоты тактирования. Значение времени срабатывания предупреждения равно половине значения времени таймаута таймера

Аргументы
baseТаймер
timeout_countВремя таймаута таймера
Заметки
timeout_count должно быть четное, минимальное значение равно 2
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument

◆ WDT_SetWarningValue()

enum wdt_status WDT_SetWarningValue ( WDT_Type * base,
uint32_t warning_value )

Установка времени срабатывания предупреждения

Установка времени срабатывания предупреждения в значениях периода частоты тактирования. Значение таймаута таймера равно удвоенному значению времени срабатывания предупреждения

Аргументы
baseТаймер
warning_valueВремя срабатывания,
Заметки
минимальное значение warning_value равно 1
Возвращаемые значения
WDT_Status_Ok
WDT_Status_InvalidArgument