CIU32_L051_M307R/Peripheral/CIU32L051_Lib/Source/ciu32l051_std_lptim.c

112 lines
2.9 KiB
C
Raw Normal View History

/************************************************************************************************/
/**
* @file ciu32l051_std_lptim.c
* @author MCU Ecosystem Development Team
* @brief LPTIM STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* ʵ<EFBFBD><EFBFBD>LPTIM<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD>
*
*
**************************************************************************************************
* @attention
* Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
*
**************************************************************************************************
*/
/************************************************************************************************/
/**
* @addtogroup CIU32L051_STD_Driver
* @{
*/
/**
* @addtogroup LPTIM
* @{
*
*/
/************************************************************************************************/
/*------------------------------------------includes--------------------------------------------*/
#include "ciu32l051_std.h"
#ifdef STD_LPTIM_PERIPHERAL_USED
/*-------------------------------------------functions------------------------------------------*/
/************************************************************************************************/
/**
* @addtogroup LPTIM_External_Functions
* @{
*
*/
/************************************************************************************************/
/**
* @brief LPTIM<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptim_init_param LPTIM<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
void std_lptim_init(LPTIM_t *lptimx, std_lptim_init_t *lptim_init_param)
{
/* <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>ʱ<EFBFBD><CAB1> */
/* <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>ӷ<EFBFBD>Ƶϵ<C6B5><CFB5> */
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC><EFBFBD> */
/* <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>ʱ<EFBFBD><CAB1>Դ */
MODIFY_REG(lptimx->CFG, (LPTIM_CFG_CKSEL | LPTIM_CFG_PRESC | LPTIM_CFG_COUNT_MODE | LPTIM_CFG_WAVPOL),
(lptim_init_param->clock_source | lptim_init_param->prescaler | lptim_init_param->count_source | lptim_init_param->out_polarity));
}
/**
* @brief LPTIMȥ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
void std_lptim_deinit(LPTIM_t *lptimx)
{
if (lptimx == LPTIM1)
{
/* <20><>λLPTIM1<4D><31><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><CAB1> */
std_rcc_apb1_reset(RCC_PERIPH_RESET_LPTIM1);
std_rcc_apb1_clk_disable(RCC_PERIPH_CLK_LPTIM1);
}
else if (lptimx == LPTIM2)
{
/* <20><>λLPTIM2<4D><32><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><CAB1> */
std_rcc_apb1_reset(RCC_PERIPH_RESET_LPTIM2);
std_rcc_apb1_clk_disable(RCC_PERIPH_CLK_LPTIM2);
}
else
{
/* <20>޲<EFBFBD><DEB2><EFBFBD> */
}
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>std_lptim_init_t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪĬ<EFBFBD><EFBFBD>ֵ
* @param lptim_init_struct <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
void std_lptim_struct_init(std_lptim_init_t *lptim_init_struct)
{
lptim_init_struct->clock_source = LPTIM_CLK_SRC_INT;
lptim_init_struct->prescaler = LPTIM_PRESCALER_DIV1;
lptim_init_struct->count_source = LPTIM_COUNTER_CLK_INT;
lptim_init_struct->out_polarity = LPTIM_OUTPUT_POLARITY_REGULAR;
}
/**
* @}
*/
#endif /* STD_LPTIM_PERIPHERAL_USED */
/**
* @}
*/
/**
* @}
*/