/**
  ******************************************************************************
  * @file    plib035_tmr.c
  *
  * @brief   Файл содержит реализацию функций для работы с TMR
  *
  * @author  НИИЭТ, Богдан Колбов <kolbov@niiet.ru>
  *
  ******************************************************************************
  * @attention
  *
  * ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО
  * ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ
  * ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ
  * НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
  * ПРЕДНАЗНАЧЕНО ДЛЯ ОЗНАКОМИТЕЛЬНЫХ ЦЕЛЕЙ И НАПРАВЛЕНО ТОЛЬКО НА
  * ПРЕДОСТАВЛЕНИЕ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ О ПРОДУКТЕ, С ЦЕЛЬЮ СОХРАНИТЬ ВРЕМЯ
  * ПОТРЕБИТЕЛЮ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ
  * ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА ПРЯМОЙ ИЛИ КОСВЕННЫЙ УЩЕРБ, ИЛИ
  * ПО ИНЫМ ТРЕБОВАНИЯМ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
  * ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
  *
  * <h2><center>&copy; 2018 ОАО "НИИЭТ"</center></h2>
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include "plib035_tmr.h"

/** @addtogroup Peripheral
  * @{
  */

/** @addtogroup TMR
  * @{
  */

/** @defgroup TMR_Private Приватные данные
  * @{
  */

/** @defgroup TMR_Private_Defines Приватные константы
  * @{
  */

/**
  * @}
  */

/** @defgroup TMR_Private_Functions Приватные функции
  * @{
  */

/**
  * @brief      Настройка периода опустошения выбранного таймера.
  * @attention  В качестве альтернативы может применяться как ручное заполнение
  *             регистра перезагрузки @ref TMR_SetLoad так и автоматический расчет,
  *             исходя из желаемой частоты опустошения таймера @ref TMR_FreqConfig.
  * @param      TMRx  Выбор таймера, где x лежит в диапазоне 0-3
  * @param      TimerClkFreq  Частота в Гц, которой тактируется таймер
  * @param      TimerPeriod   Период опустошения таймера в мкс
  * @retval     void
  */
void TMR_PeriodConfig(TMR_TypeDef* TMRx, uint32_t TimerClkFreq, uint32_t TimerPeriod)
{
    TMR_SetLoad(TMRx, TimerPeriod * (TimerClkFreq / 1000000));
}

/**
  * @brief      Настройка частоты опустошения выбранного таймера.
  * @attention  В качестве альтернативы может применяться как ручное заполнение
  *             регистра перезагрузки @ref TMR_SetLoad так и автоматический расчет,
  *             исходя из желаемого периода опустошения таймера @ref TMR_PeriodConfig.
  * @param      TMRx  Выбор таймера, где x лежит в диапазоне 0-3
  * @param      TimerClkFreq  Частота в Гц, которой тактируется таймер
  * @param      TimerFreq   Частота опустошения таймера в Гц
  * @retval     void
  */
void TMR_FreqConfig(TMR_TypeDef* TMRx, uint32_t TimerClkFreq, uint32_t TimerFreq)
{
    TMR_SetLoad(TMRx, TimerClkFreq / TimerFreq);
}

/**
  * @}
  */

/**
  * @}
  */

/**
  * @}
  */

/**
  * @}
  */

/******************* (C) COPYRIGHT 2018 NIIET *****END OF FILE****/
