123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- ////////////////////////////////////////////////////////////////////////////////
- /// @file hal_adc.h
- /// @author AE TEAM
- /// @brief THIS FILE CONTAINS ALL THE FUNCTIONS PROTOTYPES FOR THE ADC
- /// FIRMWARE LIBRARY.
- ////////////////////////////////////////////////////////////////////////////////
- /// @attention
- ///
- /// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE
- /// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE
- /// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR
- /// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH
- /// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN
- /// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS.
- ///
- /// <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2>
- ////////////////////////////////////////////////////////////////////////////////
- // Define to prevent recursive inclusion
- #ifndef __HAL_ADC_H
- #define __HAL_ADC_H
- // Files includes
- #include "types.h"
- #include "reg_adc.h"
- ////////////////////////////////////////////////////////////////////////////////
- /// @addtogroup MM32_Hardware_Abstract_Layer
- /// @{
- ////////////////////////////////////////////////////////////////////////////////
- /// @defgroup ADC_HAL
- /// @brief ADC HAL modules
- /// @{
- ////////////////////////////////////////////////////////////////////////////////
- /// @defgroup ADC_Exported_Types
- /// @{
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Channels
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_Channel_0 = 0x00, ///< ADC Channel 0
- ADC_Channel_1 = 0x01, ///< ADC Channel 1
- ADC_Channel_2 = 0x02, ///< ADC Channel 2
- ADC_Channel_3 = 0x03, ///< ADC Channel 3
- ADC_Channel_4 = 0x04, ///< ADC Channel 4
- ADC_Channel_5 = 0x05, ///< ADC Channel 5
- ADC_Channel_6 = 0x06, ///< ADC Channel 6
- ADC_Channel_7 = 0x07, ///< ADC Channel 7
- ADC_Channel_8 = 0x08, ///< ADC Channel 8
- ADC_Channel_9 = 0x09, ///< ADC Channel 9
- ADC_Channel_10 = 0x0A, ///< ADC Channel 10
- ADC_Channel_11 = 0x0B, ///< ADC Channel 11
- ADC_Channel_12 = 0x0C, ///< ADC Channel 12
- ADC_Channel_13 = 0x0D, ///< ADC Channel 13
- ADC_Channel_14 = 0x0E, ///< ADC Channel 14
- ADC_Channel_15 = 0x0F, ///< ADC Channel 15
- ADC_Channel_TempSensor = 0x0E, ///< Temperature sensor channel(ADC1)
- ADC_Channel_VoltReference = 0x0F, ///< Internal reference voltage channel(ADC1)
- ADC_Channel_Vrefint = 0x0F, ///< Internal reference voltage channel(ADC1)
- } ADCCHANNEL_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Sampling_Times
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_Samctl_1_5 = ADC_SMPR1_SAMCTL0_2_5, ///< ADC sample time select 1.5t
- ADC_Samctl_2_5 = ADC_SMPR1_SAMCTL0_2_5, ///< ADC sample time select 2.5t
- ADC_Samctl_3_5 = ADC_SMPR1_SAMCTL0_3_5, ///< ADC sample time select 3.5t
- ADC_Samctl_4_5 = ADC_SMPR1_SAMCTL0_4_5, ///< ADC sample time select 4.5t
- ADC_Samctl_5_5 = ADC_SMPR1_SAMCTL0_5_5, ///< ADC sample time select 5.5t
- ADC_Samctl_6_5 = ADC_SMPR1_SAMCTL0_6_5, ///< ADC sample time select 6.5t
- ADC_Samctl_7_5 = ADC_SMPR1_SAMCTL0_7_5, ///< ADC sample time select 7.5t
- ADC_Samctl_8_5 = ADC_SMPR1_SAMCTL0_8_5, ///< ADC sample time select 7.5t
- ADC_Samctl_13_5 = ADC_SMPR1_SAMCTL0_14_5, ///< ADC sample time select 13.5t
- ADC_Samctl_14_5 = ADC_SMPR1_SAMCTL0_14_5, ///< ADC sample time select 14.5t
- ADC_Samctl_28_5 = ADC_SMPR1_SAMCTL0_29_5, ///< ADC sample time select 28.5t
- ADC_Samctl_29_5 = ADC_SMPR1_SAMCTL0_29_5, ///< ADC sample time select 29.5t
- ADC_Samctl_41_5 = ADC_SMPR1_SAMCTL0_42_5, ///< ADC sample time select 41.5t
- ADC_Samctl_42_5 = ADC_SMPR1_SAMCTL0_42_5, ///< ADC sample time select 42.5t
- ADC_Samctl_55_5 = ADC_SMPR1_SAMCTL0_56_5, ///< ADC sample time select 55.5t
- ADC_Samctl_56_5 = ADC_SMPR1_SAMCTL0_56_5, ///< ADC sample time select 56.5t
- ADC_Samctl_71_5 = ADC_SMPR1_SAMCTL0_72_5, ///< ADC sample time select 71.5t
- ADC_Samctl_72_5 = ADC_SMPR1_SAMCTL0_72_5, ///< ADC sample time select 72.5t
- ADC_Samctl_239_5 = ADC_SMPR1_SAMCTL0_240_5, ///< ADC sample time select 239.5t
- ADC_Samctl_240_5 = ADC_SMPR1_SAMCTL0_240_5 ///< ADC sample time select 240.5t
- } ADCSAM_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Resolution
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_Resolution_12b = ADC_CFGR_RSLTCTL_12, ///< ADC resolution select 12bit
- ADC_Resolution_11b = ADC_CFGR_RSLTCTL_11, ///< ADC resolution select 11bit
- ADC_Resolution_10b = ADC_CFGR_RSLTCTL_10, ///< ADC resolution select 10bit
- ADC_Resolution_9b = ADC_CFGR_RSLTCTL_9, ///< ADC resolution select 9bit
- ADC_Resolution_8b = ADC_CFGR_RSLTCTL_8 ///< ADC resolution select 8bit
- } ADCRSL_TypeDef;
- /// @brief ADC_Prescare
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_PCLK2_PRESCARE_3 = ADC_CFGR_PRE_3, ///< ADC preclk 3
- ADC_PCLK2_PRESCARE_5 = ADC_CFGR_PRE_5, ///< ADC preclk 5
- ADC_PCLK2_PRESCARE_7 = ADC_CFGR_PRE_7, ///< ADC preclk 7
- ADC_PCLK2_PRESCARE_9 = ADC_CFGR_PRE_9, ///< ADC preclk 9
- ADC_PCLK2_PRESCARE_11 = ADC_CFGR_PRE_11, ///< ADC preclk 11
- ADC_PCLK2_PRESCARE_13 = ADC_CFGR_PRE_13, ///< ADC preclk 13
- ADC_PCLK2_PRESCARE_15 = ADC_CFGR_PRE_15, ///< ADC preclk 15
- ADC_PCLK2_PRESCARE_17 = ADC_CFGR_PRE_17, ///< ADC preclk 17
- ADC_PCLK2_PRESCARE_2 = ADC_CFGR_PRE_2, ///< ADC preclk 2
- ADC_PCLK2_PRESCARE_4 = ADC_CFGR_PRE_4, ///< ADC preclk 4
- ADC_PCLK2_PRESCARE_6 = ADC_CFGR_PRE_6, ///< ADC preclk 6
- ADC_PCLK2_PRESCARE_8 = ADC_CFGR_PRE_8, ///< ADC preclk 8
- ADC_PCLK2_PRESCARE_10 = ADC_CFGR_PRE_10, ///< ADC preclk 10
- ADC_PCLK2_PRESCARE_12 = ADC_CFGR_PRE_12, ///< ADC preclk 12
- ADC_PCLK2_PRESCARE_14 = ADC_CFGR_PRE_14, ///< ADC preclk 14
- ADC_PCLK2_PRESCARE_16 = ADC_CFGR_PRE_16 ///< ADC preclk 16
- } ADCPRE_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Conversion_Mode
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_Mode_Imm = ADC_CR_IMM, ///< ADC single convert mode
- ADC_Mode_Scan = ADC_CR_SCAN, ///< ADC single period convert mode
- ADC_Mode_Continue = ADC_CR_CONTINUE ///< ADC continue scan convert mode
- } ADCMODE_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Extrenal_Trigger_Sources_For_Regular_Channels_Conversion
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC1_ExternalTrigConv_T1_CC1 = ADC_CR_T1_CC1,
- ADC1_ExternalTrigConv_T1_CC2 = ADC_CR_T1_CC2,
- ADC1_ExternalTrigConv_T1_CC3 = ADC_CR_T1_CC3,
- ADC1_ExternalTrigConv_T2_CC2 = ADC_CR_T2_CC2,
- ADC1_ExternalTrigConv_T3_TRIG = ADC_CR_T3_TRIG,
- ADC1_ExternalTrigConv_T3_CC1 = ADC_CR_T3_CC1,
- ADC1_ExternalTrigConv_EXTI_11 = ADC_CR_EXTI_11,
- ADC1_ExternalTrigConv_T1_CC4_CC5 = ADC_CR_T1_CC4_CC5,
- ADC1_ExternalTrigConv_T1_TRIG = ADC_CR_T1_TRIG,
- ADC1_ExternalTrigConv_T8_CC4 = ADC_CR_T8_CC4,
- ADC1_ExternalTrigConv_T8_CC4_CC5 = ADC_CR_T8_CC4_CC5,
- ADC1_ExternalTrigConv_T2_CC1 = ADC_CR_T2_CC1,
- ADC1_ExternalTrigConv_T3_CC4 = ADC_CR_T3_CC4,
- ADC1_ExternalTrigConv_T2_TRIG = ADC_CR_T2_TRIG,
- ADC1_ExternalTrigConv_T8_CC5 = ADC_CR_T8_CC5,
- ADC1_ExternalTrigConv_EXTI_15 = ADC_CR_EXTI_15,
- ADC1_ExternalTrigConv_T1_CC4 = ADC_CR_TIM1_CC4,
- ADC1_ExternalTrigConv_T1_CC5 = ADC_CR_TIM1_CC5
- } EXTERTRIG_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Data_Align
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_DataAlign_Right = ADC_CR_RIGHT, ///< ADC data left align
- ADC_DataAlign_Left = ADC_CR_LEFT ///< ADC data right align
- } ADCDATAALI_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Flags_Definition
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_IT_EOC = 1, ///< ADC conversion flag
- ADC_FLAG_EOC = 1,
- ADC_IT_AWD = 2, ///< ADC window comparator flag
- ADC_FLAG_AWD = 2
- } ADCFLAG_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Trig_Edge
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_ADC_Trig_Edge_Dual = ADC_CR_TRG_EDGE_DUAL, ///< ADC trig edge dual mode down and up
- ADC_ADC_Trig_Edge_Down = ADC_CR_TRG_EDGE_DOWN, ///< ADC trig edge single mode down
- ADC_ADC_Trig_Edge_Up = ADC_CR_TRG_EDGE_UP, ///< ADC trig edge single mode up
- ADC_ADC_Trig_Edge_Mask = ADC_CR_TRG_EDGE_MASK ///< ADC trig edge is mask, not allowed
- } ADCTRIGEDGE_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Scan_Direct
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_Scan_Direct_Up = ADC_CR_SCANDIR, ///< ADC scan from low channel to high channel
- ADC_Scan_Direct_Down = 0 ///< ADC scan from High channel to low channel
- } ADCSCANDIRECT_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Trig_Shift
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_ADC_Trig_Shift_0 = ADC_CR_TRGSHIFT_0, ///< ADC trig shift bit is 0
- ADC_ADC_Trig_Shift_4 = ADC_CR_TRGSHIFT_4, ///< ADC trig shift bit is 4
- ADC_ADC_Trig_Shift_16 = ADC_CR_TRGSHIFT_16, ///< ADC trig shift bit is 16
- ADC_ADC_Trig_Shift_32 = ADC_CR_TRGSHIFT_32, ///< ADC trig shift bit is 32
- ADC_ADC_Trig_Shift_64 = ADC_CR_TRGSHIFT_64, ///< ADC trig shift bit is 64
- ADC_ADC_Trig_Shift_128 = ADC_CR_TRGSHIFT_128, ///< ADC trig shift bit is 128
- ADC_ADC_Trig_Shift_256 = ADC_CR_TRGSHIFT_256, ///< ADC trig shift bit is 256
- ADC_ADC_Trig_Shift_512 = ADC_CR_TRGSHIFT_512, ///< ADC trig shift bit is 512
- } ADCTRIGSHIFT_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Inject_Sequence_Length the sequencer length for injected channels
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_Inject_Seqen_Len1 = 0, ///< ADC Injected Seqence length is 1
- ADC_Inject_Seqen_Len2 = 1, ///< ADC Injected Seqence length is 2
- ADC_Inject_Seqen_Len3 = 2, ///< ADC Injected Seqence length is 3
- ADC_Inject_Seqen_Len4 = 3, ///< ADC Injected Seqence length is 4
- } ADC_INJ_SEQ_LEN_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Inject_Sequence_Length the sequencer length for injected channels
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC_InjectedChannel_1 = 0x00,
- ADC_InjectedChannel_2 = 0x04,
- ADC_InjectedChannel_3 = 0x08,
- ADC_InjectedChannel_4 = 0x0c,
- } ADC_INJ_SEQ_Channel_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC_Extrenal_Trigger_Sources_For_Regular_Channels_Conversion
- ////////////////////////////////////////////////////////////////////////////////
- typedef enum {
- ADC1_InjectExtTrigSrc_T1_TRGO = ADC_ANY_CR_JTRGSEL_TIM1_TRGO, ///< TIM1 TRGO
- ADC1_InjectExtTrigSrc_T1_CC4 = ADC_ANY_CR_JTRGSEL_TIM1_CC4, ///< TIM1 CC4
- ADC1_InjectExtTrigSrc_T1_CC4_CC5 = ADC_ANY_CR_JTRGSEL_TIM1_CC4_CC5, ///< TIM1 CC4 and CC5
- ADC1_InjectExtTrigSrc_T2_CC1 = ADC_ANY_CR_JTRGSEL_TIM2_TIM4CC1, ///< TIM2 CC1
- ADC1_InjectExtTrigSrc_T3_CC4 = ADC_ANY_CR_JTRGSEL_TIM3_TIM5CC4, ///< TIM3 CC4
- ADC1_InjectExtTrigSrc_T8_CC4 = ADC_ANY_CR_JTRGSEL_TIM8_CC4, ///< TIM8 CC4
- ADC1_InjectExtTrigSrc_T8_CC4_CC5 = ADC_ANY_CR_JTRGSEL_TIM8_CC4_CC5, ///< TIM8 CC4 and CC5
- ADC1_InjectExtTrigSrc_EXTI_12 = ADC_ANY_CR_JTRGSEL_EXTI12, ///< EXTI12
- ADC2_InjectExtTrigSrc_T1_TRGO = ADC_ANY_CR_JTRGSEL_TIM1_TRGO, ///< TIM1 TRGO
- ADC2_InjectExtTrigSrc_T1_CC4 = ADC_ANY_CR_JTRGSEL_TIM1_CC4, ///< TIM1 CC4
- ADC2_InjectExtTrigSrc_T1_CC4_CC5 = ADC_ANY_CR_JTRGSEL_TIM1_CC4_CC5, ///< TIM1 CC4 and CC5
- ADC2_InjectExtTrigSrc_T2_CC1 = ADC_ANY_CR_JTRGSEL_TIM2_TIM4CC1, ///< TIM2 CC1
- ADC2_InjectExtTrigSrc_T3_CC4 = ADC_ANY_CR_JTRGSEL_TIM3_TIM5CC4, ///< TIM3 CC4
- ADC2_InjectExtTrigSrc_T8_CC4 = ADC_ANY_CR_JTRGSEL_TIM8_CC4, ///< TIM8 CC4
- ADC2_InjectExtTrigSrc_T8_CC4_CC5 = ADC_ANY_CR_JTRGSEL_TIM8_CC4_CC5, ///< TIM8 CC4 and CC5
- ADC2_InjectExtTrigSrc_EXTI_12 = ADC_ANY_CR_JTRGSEL_EXTI12, ///< EXTI12
- ADC3_InjectExtTrigSrc_T1_TRGO = ADC_ANY_CR_JTRGSEL_TIM1_TRGO, ///< TIM1 TRGO
- ADC3_InjectExtTrigSrc_T1_CC4 = ADC_ANY_CR_JTRGSEL_TIM1_CC4, ///< TIM1 CC4
- ADC3_InjectExtTrigSrc_T1_CC4_CC5 = ADC_ANY_CR_JTRGSEL_TIM1_CC4_CC5, ///< TIM1 CC4 and CC5
- ADC3_InjectExtTrigSrc_T4_CC1 = ADC_ANY_CR_JTRGSEL_TIM2_TIM4CC1, ///< TIM4 CC1
- ADC3_InjectExtTrigSrc_T5_CC4 = ADC_ANY_CR_JTRGSEL_TIM3_TIM5CC4, ///< TIM5 CC4
- ADC3_InjectExtTrigSrc_T8_CC4 = ADC_ANY_CR_JTRGSEL_TIM8_CC4, ///< TIM8 CC4
- ADC3_InjectExtTrigSrc_T8_CC4_CC5 = ADC_ANY_CR_JTRGSEL_TIM8_CC4_CC5, ///< TIM8 CC4 and CC5
- ADC3_InjectExtTrigSrc_EXTI_12 = ADC_ANY_CR_JTRGSEL_EXTI12, ///< EXTI12
- } EXTER_INJ_TRIG_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief ADC Init Structure definition
- ////////////////////////////////////////////////////////////////////////////////
- typedef struct {
- u32 ADC_Resolution; ///< Convert data resolution
- u32 ADC_PRESCARE; ///< Clock prescaler
- u32 ADC_Mode; ///< ADC conversion mode
- FunctionalState ADC_ContinuousConvMode; ///< Useless just for compatibility
- u32 ADC_ExternalTrigConv; ///< External trigger source selection
- u32 ADC_DataAlign; ///< Data alignmentn
- } ADC_InitTypeDef;
- /// @}
- ////////////////////////////////////////////////////////////////////////////////
- /// @defgroup ADC_Exported_Variables
- /// @{
- #ifdef _HAL_ADC_C_
- #define GLOBAL
- #else
- #define GLOBAL extern
- #endif
- #undef GLOBAL
- /// @}
- ////////////////////////////////////////////////////////////////////////////////
- /// @defgroup ADC_Exported_Functions
- /// @{
- void ADC_DeInit(ADC_TypeDef* adc);
- void ADC_Init(ADC_TypeDef* adc, ADC_InitTypeDef* init_struct);
- void ADC_StructInit(ADC_InitTypeDef* init_struct);
- void ADC_Cmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_DMACmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_ITConfig(ADC_TypeDef* adc, ADCFLAG_TypeDef adc_interrupt, FunctionalState state);
- void ADC_SoftwareStartConvCmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_RegularChannelConfig(ADC_TypeDef* adc, u32 channel, u8 rank, u32 sample_time);//ADCSAM_TypeDef
- void ADC_ExternalTrigConvCmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_ExternalTrigConvConfig(ADC_TypeDef* adc, EXTERTRIG_TypeDef adc_external_trig_source);
- #define ADC_ExternalTrigInjectedConvConfig ADC_ExternalTrigConvConfig
- void ADC_AnalogWatchdogCmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* adc, u16 high_threshold, u16 low_threshold);
- void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* adc, ADCCHANNEL_TypeDef channel);
- void ADC_TempSensorVrefintCmd(FunctionalState state);
- void ADC_ClearITPendingBit(ADC_TypeDef* adc, ADCFLAG_TypeDef adc_interrupt);
- void ADC_ClearFlag(ADC_TypeDef* adc, ADCFLAG_TypeDef adc_flag);
- u16 ADC_GetConversionValue(ADC_TypeDef* adc);
- FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* adc);
- FlagStatus ADC_GetFlagStatus(ADC_TypeDef* adc, ADCFLAG_TypeDef adc_flag);
- ITStatus ADC_GetITStatus(ADC_TypeDef* adc, ADCFLAG_TypeDef adc_interrupt);
- void ADC_TempSensorCmd(FunctionalState state);
- void ADC_VrefintCmd(FunctionalState state);
- void exADC_TempSensorVrefintCmd(u32 chs, FunctionalState state);
- void ADC_ANY_CH_Config(ADC_TypeDef* adc, u8 rank, ADCCHANNEL_TypeDef adc_channel);
- void ADC_ANY_NUM_Config(ADC_TypeDef* adc, u8 num);
- void ADC_ANY_Cmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_AutoInjectedConvCmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_ExternalTrigInjectedConvertConfig(ADC_TypeDef* adc, EXTER_INJ_TRIG_TypeDef ADC_ExtInjTrigSource);
- void ADC_InjectedConvCmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* adc, FunctionalState state);
- void ADC_InjectedSequencerConfig(ADC_TypeDef* adc, u32 event, u32 sample_time);
- void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* adc, ADC_INJ_SEQ_LEN_TypeDef Length);
- void ADC_InjectedSequencerChannelConfig(ADC_TypeDef* adc, ADC_INJ_SEQ_Channel_TypeDef off_addr, ADCCHANNEL_TypeDef channel);
- u16 ADC_GetInjectedConversionValue(ADC_TypeDef* adc, ADC_INJ_SEQ_Channel_TypeDef off_addr);
- u16 ADC_GetInjectedCurrentConvertedValue(ADC_TypeDef* adc);
- void ADC_SetInjectedOffset(ADC_TypeDef* adc, ADC_INJ_SEQ_Channel_TypeDef off_addr, u16 value);
- u16 ADC_GetChannelConvertedValue(ADC_TypeDef* adc, ADCCHANNEL_TypeDef channel);
- /// @}
- /// @}
- /// @}
- ////////////////////////////////////////////////////////////////////////////////
- #endif
- ////////////////////////////////////////////////////////////////////////////////
|