/**
  **********************************************************************************
  * @file    tc_drv.c
  * @author  Product application department
  * @version V1.0
  * @date    2020.03.20
  * @brief   tc模块driver层驱动.
  *
  @verbatim
  ===================================================================================
                                  ##### 更新 #####
  ===================================================================================
  [..] 更新时间:
  [..] 更新人:
  [..] 更新内容:
        1. nothing.
  @endverbatim
  */
#include "tc_drv.h"

/*** 全局变量定义 ***************************************************************/

/*** volatile **********/
volatile uint8_t g_tc_int_flag = 0;
/*** @ static **********/

/*** 常量定义 *******************************************************************/

/*** 函数定义 *******************************************************************/


/**
  *@brief TC:WAIT模式下启动或停止
  *
  * @param[in] tcit 初始化结构体
  * @param[in] status 功能状态结构体
  *@return NONE
  */
void DRV_TC_WaitCmd(TC_TypeDef *tctd,FunctionalStateTypeDef status)
{
    if(status == ENABLE)
    {
    	_tc_set_wait_run(tctd);
    }
    else if(status == DISABLE)
    {
    	_tc_set_wait_run(tctd);
    }
}
/**
  *@brief WDT:DOZE模式下启动或停止
  *
  * @param[in] tcit 初始化结构体
  * @param[in] status 功能状态结构体
  *@return NONE
  */
void DRV_TC_DozeCmd(TC_TypeDef *tctd,FunctionalStateTypeDef status)
{
	if(status == ENABLE)
	{
		_tc_set_doze_run(tctd);
	}
	else
	{
		_tc_set_doze_stop(tctd);
	}
}
/**
  *@brief TC:STOP模式下启动或停止
  *
  * @param[in] tcit 初始化结构体
  * @param[in] status 功能状态结构体
  *@return NONE
  */
void DRV_TC_StopCmd(TC_TypeDef *tctd,FunctionalStateTypeDef status)
{
	if(status == ENABLE)
	{
		_tc_set_stop_run(tctd);
	}
	else
	{
		_tc_set_stop_stop(tctd);
	}

}
/**
  *@brief TC:DEBUG模式下启动或停止
  *
  * @param[in] tcit 初始化结构体
  * @param[in] status 功能状态结构体
  *@return NONE
  */
void DRV_TC_DebugCmd(TC_TypeDef *tctd,FunctionalStateTypeDef status)
{
	if(status == ENABLE)
	{
		_tc_set_debug_run(tctd);
	}
	else
	{
		_tc_set_debug_stop(tctd);
	}
}

/**
  *@brief TC:数值减为零时，是否复位
  *
  * @param[in] tcit 初始化结构体
  * @param[in] status 功能状态结构体
  *@return NONE
  */
void DRV_TC_ResetCmd(TC_TypeDef *tctd,FunctionalStateTypeDef status)
{
	if(status == ENABLE)
	{
		_tc_set_reset_enable(tctd);
	}
	else
	{
		_tc_set_reset_disable(tctd);
	}
}
/**
  *@brief TC:数值减为零时，是否中断
  *
  * @param[in] tcit 初始化结构体
  * @param[in] status 功能状态结构体
  *@return NONE
  */
void DRV_TC_InterruptCmd(TC_TypeDef *tctd,FunctionalStateTypeDef status)
{
	if(status == ENABLE)
	{
		_tc_enable_int(tctd);
	}
	else
	{
		_tc_disable_int(tctd);
	}
}

