123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- /**
- ******************************************************************************
- * @file ft32f0xx_opa.h
- * @author FMD AE
- * @brief This file contains all the functions prototypes for the OPA firmware
- * library.
- * @version V1.0.0
- * @data 2021-07-01
- ******************************************************************************
- */
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __FT32F0XX_OPA_H
- #define __FT32F0XX_OPA_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* Includes ------------------------------------------------------------------*/
- #include "ft32f0xx.h"
- /** @addtogroup OPA
- * @{
- */
- /* Exported types ------------------------------------------------------------*/
- /**
- * @brief OPA Init structure definition
- */
- typedef struct
- {
- uint32_t OPA_OP0PSel; /*!< Select the positive input of the OPA.
- This parameter can be a value of @ref OPA_OP0PSel */
- uint32_t OPA_OP0NSel; /*!< Select the negative input of the OPA.
- This parameter can be a value of @ref OPA_OP0NSel */
- uint32_t OPA_OP0FR; /*!< Selects The feedback resister of the OPA.
- This parameter can be a value of @ref OPA_OP0FR */
- uint32_t OPA_OP0FCAPE; /*!< Selects The compensate cap of the OPA.
- This parameter can be a value of @ref OPA_OP0FCAPE */
- uint32_t OPA_OPTODIG; /*!< Selects The output to REG of the OPA.
- This parameter can be a value of @ref OPA_OPTODIG */
- uint32_t OPA_OPTOIO; /*!< Selects The output to PA0 of the OPA.
- This parameter can be a value of @ref OPA_OPTOIO */
- }OPA_InitTypeDef;
- /* Exported constants --------------------------------------------------------*/
- /**
- * @}
- */
- /** @defgroup OPA_Exported_Constants
- * @{
- */
- #define IS_OPA_ALL_PERIPH(PERIPH) (((PERIPH) == OPA) || ((PERIPH) == OPA2))
- /** @defgroup OPA_OP0PSel
- * @{
- */
- #define OPA_VIP_SEL_PA1 ((uint32_t)0x00000000)
- #define OPA_VIP_SEL_GND ((uint32_t)0x00008000)
- #define OPA1_VIP_SEL_PA1 OPA_VIP_SEL_PA1
- #define OPA1_VIP_SEL_GND OPA_VIP_SEL_GND
- #define OPA2_VIP_SEL_PA3 ((uint32_t)0x00000000)
- #define OPA2_VIP_SEL_PA4 ((uint32_t)0x00020000)
- #define OPA2_VIP_SEL_GND ((uint32_t)0x00008000)
- #define IS_OPA_VIP_SEL(INPUT) ( ((INPUT) == OPA_VIP_SEL_PA1) || \
- ((INPUT) == OPA2_VIP_SEL_PA4) || \
- ((INPUT) == OPA_VIP_SEL_GND) )
- /**
- * @}
- */
- /** @defgroup OPA_OP0NSel
- * @{
- */
- #define OPA_VIN_SEL_GND ((uint32_t)0x00000000)
- #define OPA_VIN_SEL_PA2 ((uint32_t)0x00002000)
- #define OPA_VIN_SEL_R4K_PA2 ((uint32_t)0x00004000)
- #define OPA_VIN_SEL_R4K_GND ((uint32_t)0x00006000)
- #define OPA2_VIN_SEL_GND ((uint32_t)0x00000000)
- #define OPA2_VIN_SEL_PF4 ((uint32_t)0x00002000)
- #define OPA2_VIN_SEL_R4K_PF4 ((uint32_t)0x00004000)
- #define OPA2_VIN_SEL_R4K_GND ((uint32_t)0x00006000)
- #define IS_OPA_VIN_SEL(INPUT) ( ((INPUT) == OPA_VIN_SEL_GND) || \
- ((INPUT) == OPA_VIN_SEL_PA2) || \
- ((INPUT) == OPA_VIN_SEL_R4K_PA2) || \
- ((INPUT) == OPA_VIN_SEL_R4K_GND) )
- /**
- * @}
- */
- /** @defgroup OPA_OP0FR
- * @{
- */
- #define OPA_FR_SEL_NORES ((uint32_t)0x00000000)
- #define OPA_FR_SEL_40K ((uint32_t)0x00001000)
- #define OPA_FR_SEL_80K ((uint32_t)0x00001400)
- #define OPA_FR_SEL_160K ((uint32_t)0x00001800)
- #define OPA_FR_SEL_320K ((uint32_t)0x00001C00)
- #define OPA2_FR_SEL_NORES ((uint32_t)0x00000000)
- #define OPA2_FR_SEL_40K ((uint32_t)0x00001000)
- #define OPA2_FR_SEL_80K ((uint32_t)0x00001400)
- #define OPA2_FR_SEL_160K ((uint32_t)0x00001800)
- #define OPA2_FR_SEL_320K ((uint32_t)0x00001C00)
- #define IS_OPA_FR_SEL(INPUT) ( ((INPUT) == OPA_FR_SEL_NORES) || \
- ((INPUT) == OPA_FR_SEL_40K) || \
- ((INPUT) == OPA_FR_SEL_80K) || \
- ((INPUT) == OPA_FR_SEL_160K) || \
- ((INPUT) == OPA_FR_SEL_320K) )
- /**
- * @}
- */
- /** @defgroup OPA_OP0FCAPE
- * @{
- */
- #define OPA_FCAP_SEL_EN ((uint32_t)0x00000000)
- #define OPA_FCAP_SEL_DIS ((uint32_t)0x00000200)
- #define OPA2_FCAP_SEL_EN ((uint32_t)0x00000000)
- #define OPA2_FCAP_SEL_DIS ((uint32_t)0x00000200)
- #define IS_OPA_FCAP_SEL(INPUT) (((INPUT) == OPA_FCAP_SEL_EN) || \
- ((INPUT) == OPA_FCAP_SEL_DIS))
- /**
- * @}
- */
- /** @defgroup OPA_OPTODIG
- * @{
- */
- #define OPA_ODIG_SEL_DIS ((uint32_t)0x00000000)
- #define OPA_ODIG_SEL_EN ((uint32_t)0x00000080)
- #define OPA2_ODIG_SEL_DIS ((uint32_t)0x00000000)
- #define OPA2_ODIG_SEL_EN ((uint32_t)0x00000080)
- #define IS_OPA_ODIG_SEL(INPUT) (((INPUT) == OPA_ODIG_SEL_DIS) || \
- ((INPUT) == OPA_ODIG_SEL_EN))
- /**
- * @}
- */
- /** @defgroup OPA_OPTOIO
- * @{
- */
- #define OPA_OIO_SEL_DIS ((uint32_t)0x00000000)
- #define OPA_OIO_SEL_EN ((uint32_t)0x00000040)
- #define OPA2_OIO_SEL_DIS ((uint32_t)0x00000000)
- #define OPA2_OIO_SEL_EN ((uint32_t)0x00000040)
- #define IS_OPA_OIO_SEL(INPUT) (((INPUT) == OPA_OIO_SEL_DIS) || \
- ((INPUT) == OPA_OIO_SEL_EN))
- #define OPA_OutputLevel_High ((uint32_t)0x00010000)
- #define OPA_OutputLevel_Low ((uint32_t)0x00000000)
- #define IS_OPA_OUTPUT_LEVEL(LEVEL) ( ((LEVEL) == OPA_OutputLevel_High) || \
- ((LEVEL) == OPA_OutputLevel_Low))
- /**
- * @}
- */
- /**
- * @}
- */
- /* Exported macro ------------------------------------------------------------*/
- /* Exported functions ------------------------------------------------------- */
- /* Function used to set the OPA configuration to the default reset state ****/
- void OPA_DeInit(OPA_TypeDef* OPAx);
- /* Initialization and Configuration functions *********************************/
- void OPA_Init(OPA_TypeDef* OPAx, OPA_InitTypeDef* OPA_InitStruct);
- void OPA_StructInit(OPA_InitTypeDef* OPA_InitStruct);
- void OPA_Cmd(OPA_TypeDef* OPAx, FunctionalState NewState);
- uint32_t OPA_GetOutputLevel(OPA_TypeDef* OPAx, uint32_t OPA_OutLevel);
- uint8_t OPA_Cali(OPA_TypeDef* OPAx);
- #ifdef __cplusplus
- }
- #endif
- #endif /*__FT32F0XX_OPA_H */
- /**
- * @}
- */
- /**
- * @}
- */
- /************************ (C) COPYRIGHT FMD *****END OF FILE****/
|