CIU32_L051_M307R/Peripheral/CIU32L051_Lib/Source/ciu32l051_std_comp.c

106 lines
2.6 KiB
C

/************************************************************************************************/
/**
* @file ciu32l051_std_comp.c
* @author MCU Ecosystem Development Team
* @brief COMP STD库驱动。
* 实现COMP初始化配置等功能API。
*
*
**************************************************************************************************
* @attention
* Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
*
**************************************************************************************************
*/
/************************************************************************************************/
/**
* @addtogroup CIU32L051_STD_Driver
* @{
*/
/**
* @addtogroup COMP
* @{
*
*/
/************************************************************************************************/
/*------------------------------------------includes--------------------------------------------*/
#include "ciu32l051_std.h"
#ifdef STD_COMP_PERIPHERAL_USED
/*------------------------------------------functions-------------------------------------------*/
/************************************************************************************************/
/**
* @addtogroup COMP_External_Functions
* @{
*
*/
/************************************************************************************************/
/**
* @brief COMP初始化
* @param compx COMP外设
* @param comp_init_param COMP初始化结构体
* @retval 无
*/
void std_comp_init(COMP_t *compx, std_comp_init_t *comp_init_param)
{
/* 设置COMP正相输入 */
std_comp_set_input_plus(compx, comp_init_param->inpsel);
/* 设置COMP反相输入 */
std_comp_set_input_minus(compx, comp_init_param->inmsel);
/* 设置COMP响应速度 */
std_comp_set_speed_mode(compx, comp_init_param->speed);
/* 设置COMP迟滞模式 */
std_comp_set_input_hysteresis(compx, comp_init_param->hyst);
/* 输出极性配置 */
std_comp_set_output_polarity(compx, comp_init_param->outpol);
}
/**
* @brief COMP结构体初始化
* @param comp_init_struct COMP初始化结构体
* @retval 无
*/
void std_comp_struct_init(std_comp_init_t *comp_init_struct)
{
comp_init_struct->inpsel = COMP_INPSEL_IO1;
comp_init_struct->inmsel = COMP_INMSEL_VBGR;
comp_init_struct->speed = COMP_VERYLOWSPEED;
comp_init_struct->hyst = COMP_HYST_NONE;
comp_init_struct->outpol = COMP_OUTPOL_INVERTED;
}
/**
* @brief COMP去初始化
* @param compx COMP外设
* @retval 无
*/
void std_comp_deinit(COMP_t *compx)
{
/* 禁止COMP */
std_comp_disable(compx);
/* 复位COMP外设 */
compx->CSR = 0x00000000U;
}
/**
* @}
*/
#endif /* STD_COMP_PERIPHERAL_USED */
/**
* @}
*/
/**
* @}
*/