112 lines
2.9 KiB
C
112 lines
2.9 KiB
C
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @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 */
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|