/********************************** (C) COPYRIGHT ******************************* * File Name : ch32v30x_opa.h * Author : WCH * Version : V1.0.0 * Date : 2021/06/06 * Description : This file contains all the functions prototypes for the * OPA firmware library. * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd. * SPDX-License-Identifier: Apache-2.0 *******************************************************************************/ #ifndef __CH32V30x_OPA_H #define __CH32V30x_OPA_H #ifdef __cplusplus extern "C" { #endif #include "ch32v30x.h" #define OPA_PSEL_OFFSET 3 #define OPA_NSEL_OFFSET 2 #define OPA_MODE_OFFSET 1 /* OPA member enumeration */ typedef enum { OPA1=0, OPA2, OPA3, OPA4 }OPA_Num_TypeDef; /* OPA PSEL enumeration */ typedef enum { CHP0=0, CHP1 }OPA_PSEL_TypeDef; /* OPA NSEL enumeration */ typedef enum { CHN0=0, CHN1 }OPA_NSEL_TypeDef; /* OPA Mode enumeration */ typedef enum { OUT_IO_ADC=0, OUT_IO }OPA_Mode_TypeDef; /* OPA Init Structure definition */ typedef struct { OPA_Num_TypeDef OPA_NUM; /* Specifies the members of OPA */ OPA_PSEL_TypeDef PSEL; /* Specifies the positive channel of OPA */ OPA_NSEL_TypeDef NSEL; /* Specifies the negative channel of OPA */ OPA_Mode_TypeDef Mode; /* Specifies the mode of OPA */ }OPA_InitTypeDef; void OPA_DeInit(void); void OPA_Init(OPA_InitTypeDef* OPA_InitStruct); void OPA_StructInit(OPA_InitTypeDef* OPA_InitStruct); void OPA_Cmd(OPA_Num_TypeDef OPA_NUM, FunctionalState NewState); #ifdef __cplusplus } #endif #endif