106 lines
2.6 KiB
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 */
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @}
|
|
*/
|