146 lines
4.2 KiB
C
146 lines
4.2 KiB
C
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @file ciu32l051_std_vrefbuf.h
|
|||
|
* @author MCU Ecosystem Development Team
|
|||
|
* @brief VREFBUF STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD>ṩVREFBUF<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD>塣
|
|||
|
*
|
|||
|
*
|
|||
|
**************************************************************************************************
|
|||
|
* @attention
|
|||
|
* Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
|
|||
|
*
|
|||
|
**************************************************************************************************
|
|||
|
*/
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#ifndef CIU32L051_STD_VREFBUF_H
|
|||
|
#define CIU32L051_STD_VREFBUF_H
|
|||
|
|
|||
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @addtogroup CIU32L051_STD_Driver
|
|||
|
* @{
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* @defgroup VREFBUF VREFBUF
|
|||
|
* @brief <EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD>ѹԴ<EFBFBD><EFBFBD>STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @{
|
|||
|
*/
|
|||
|
/************************************************************************************************/
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
/*------------------------------------------includes--------------------------------------------*/
|
|||
|
#include "ciu32l051_std_common.h"
|
|||
|
|
|||
|
/*-----------------------------------------type define------------------------------------------*/
|
|||
|
|
|||
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @defgroup VREFBUF_Constants VRFEBUF Constants
|
|||
|
* @brief VREFBUF<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>弰<EFBFBD>궨<EFBFBD><EFBFBD>
|
|||
|
* @{
|
|||
|
*
|
|||
|
*/
|
|||
|
/************************************************************************************************/
|
|||
|
|
|||
|
/* VRFEBUF <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ѹֵ: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> */
|
|||
|
#define VREFBUF_VOLTAGE_2048 VREFBUF_CSR_VRS_2048 /**< VRFEBUF <20><><EFBFBD><EFBFBD>2.048V */
|
|||
|
#define VREFBUF_VOLTAGE_2500 VREFBUF_CSR_VRS_2500 /**< VRFEBUF <20><><EFBFBD><EFBFBD>2.5V */
|
|||
|
#define VREFBUF_VOLTAGE_3000 VREFBUF_CSR_VRS_3000 /**< VRFEBUF <20><><EFBFBD><EFBFBD>3.0V */
|
|||
|
|
|||
|
/* VRFEBUF <20><>ѹУֵ */
|
|||
|
#define VREFBUF_CAL_VALUE_2048 *((uint32_t*)(VREFBUF_CAL_20)) /**< VREFBUFУֵ<D7BC><D6B5>ַ<EFBFBD><D6B7>2.048V */
|
|||
|
#define VREFBUF_CAL_VALUE_2500 *((uint32_t*)(VREFBUF_CAL_25)) /**< VREFBUFУֵ<D7BC><D6B5>ַ<EFBFBD><D6B7>2.5V */
|
|||
|
#define VREFBUF_CAL_VALUE_3000 *((uint32_t*)(VREFBUF_CAL_30)) /**< VREFBUFУֵ<D7BC><D6B5>ַ<EFBFBD><D6B7>3.0V */
|
|||
|
|
|||
|
/* VRFEBUF <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ѹֵ<D1B9><D6B5><EFBFBD><EFBFBD>ΪADC<44>ο<EFBFBD><CEBF><EFBFBD>ѹʱ<D1B9><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> */
|
|||
|
#define VREFBUF_VOLTAGE_2048_REF (2048U) /**< VRFEBUF <20><><EFBFBD><EFBFBD>2.048V <20>ο<EFBFBD><CEBF><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ֵ */
|
|||
|
#define VREFBUF_VOLTAGE_2500_REF (2500U) /**< VRFEBUF <20><><EFBFBD><EFBFBD>2.048V <20>ο<EFBFBD><CEBF><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ֵ */
|
|||
|
#define VREFBUF_VOLTAGE_3000_REF (3000U) /**< VRFEBUF <20><><EFBFBD><EFBFBD>2.048V <20>ο<EFBFBD><CEBF><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ֵ */
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
/*------------------------------------------ functions -----------------------------------------*/
|
|||
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @defgroup VREFBUF_Exported_Functions VREFBUF Exported Functions
|
|||
|
* @brief VREFBUF<EFBFBD><EFBFBD><EFBFBD>⺯<EFBFBD><EFBFBD>
|
|||
|
* @{
|
|||
|
*
|
|||
|
*/
|
|||
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @brief VREFBUF ʹ<EFBFBD><EFBFBD>
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_vrefbuf_enable(void)
|
|||
|
{
|
|||
|
VREFBUF->CSR |= (VREFBUF_CSR_EN);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* @brief VREFBUF <EFBFBD><EFBFBD>ֹ
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_vrefbuf_disable(void)
|
|||
|
{
|
|||
|
VREFBUF->CSR &= (~VREFBUF_CSR_EN);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* @brief VREFBUF <EFBFBD><EFBFBD>ȡreadyλ״̬
|
|||
|
* @retval bool <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>жϽ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @arg true<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ʾVREFBUF<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﵽԤ<EFBFBD><EFBFBD>ֵ
|
|||
|
* @arg false<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾVREFBUFδ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>ȶ<EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE bool std_vrefbuf_get_ready_status(void)
|
|||
|
{
|
|||
|
return ((VREFBUF->CSR & VREFBUF_CSR_RDY) == (VREFBUF_CSR_RDY));
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* @brief VREFBUF <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param voltage_scale VREFBUF<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹֵ
|
|||
|
* @arg VREFBUF_VOLTAGE_2048
|
|||
|
* @arg VREFBUF_VOLTAGE_2500
|
|||
|
* @arg VREFBUF_VOLTAGE_3000
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_vrefbuf_output_config(uint32_t voltage_scale)
|
|||
|
{
|
|||
|
MODIFY_REG(VREFBUF->CSR, VREFBUF_CSR_VRS, voltage_scale);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
#endif /* CIU32L051_STD_VREFBUF_H */
|