STM CMSIS
stm32f4xx_hal_adc_ex.h File Reference

Header file of ADC HAL module. More...

Go to the source code of this file.

Classes

struct  ADC_InjectionConfTypeDef
 ADC Configuration injected Channel structure definition. More...
 
struct  ADC_MultiModeTypeDef
 ADC Configuration multi-mode structure definition. More...
 

Macros

#define ADC_MODE_INDEPENDENT   ((uint32_t)0x00000000U)
 
#define ADC_DUALMODE_REGSIMULT_INJECSIMULT   ((uint32_t)ADC_CCR_MULTI_0)
 
#define ADC_DUALMODE_REGSIMULT_ALTERTRIG   ((uint32_t)ADC_CCR_MULTI_1)
 
#define ADC_DUALMODE_INJECSIMULT   ((uint32_t)(ADC_CCR_MULTI_2 | ADC_CCR_MULTI_0))
 
#define ADC_DUALMODE_REGSIMULT   ((uint32_t)(ADC_CCR_MULTI_2 | ADC_CCR_MULTI_1))
 
#define ADC_DUALMODE_INTERL   ((uint32_t)(ADC_CCR_MULTI_2 | ADC_CCR_MULTI_1 | ADC_CCR_MULTI_0))
 
#define ADC_DUALMODE_ALTERTRIG   ((uint32_t)(ADC_CCR_MULTI_3 | ADC_CCR_MULTI_0))
 
#define ADC_TRIPLEMODE_REGSIMULT_INJECSIMULT   ((uint32_t)(ADC_CCR_MULTI_4 | ADC_CCR_MULTI_0))
 
#define ADC_TRIPLEMODE_REGSIMULT_AlterTrig   ((uint32_t)(ADC_CCR_MULTI_4 | ADC_CCR_MULTI_1))
 
#define ADC_TRIPLEMODE_INJECSIMULT   ((uint32_t)(ADC_CCR_MULTI_4 | ADC_CCR_MULTI_2 | ADC_CCR_MULTI_0))
 
#define ADC_TRIPLEMODE_REGSIMULT   ((uint32_t)(ADC_CCR_MULTI_4 | ADC_CCR_MULTI_2 | ADC_CCR_MULTI_1))
 
#define ADC_TRIPLEMODE_INTERL   ((uint32_t)(ADC_CCR_MULTI_4 | ADC_CCR_MULTI_2 | ADC_CCR_MULTI_1 | ADC_CCR_MULTI_0))
 
#define ADC_TRIPLEMODE_ALTERTRIG   ((uint32_t)(ADC_CCR_MULTI_4 | ADC_CCR_MULTI_3 | ADC_CCR_MULTI_0))
 
#define ADC_DMAACCESSMODE_DISABLED   ((uint32_t)0x00000000U)
 
#define ADC_DMAACCESSMODE_1   ((uint32_t)ADC_CCR_DMA_0)
 
#define ADC_DMAACCESSMODE_2   ((uint32_t)ADC_CCR_DMA_1)
 
#define ADC_DMAACCESSMODE_3   ((uint32_t)ADC_CCR_DMA)
 
#define ADC_EXTERNALTRIGINJECCONVEDGE_NONE   ((uint32_t)0x00000000U)
 
#define ADC_EXTERNALTRIGINJECCONVEDGE_RISING   ((uint32_t)ADC_CR2_JEXTEN_0)
 
#define ADC_EXTERNALTRIGINJECCONVEDGE_FALLING   ((uint32_t)ADC_CR2_JEXTEN_1)
 
#define ADC_EXTERNALTRIGINJECCONVEDGE_RISINGFALLING   ((uint32_t)ADC_CR2_JEXTEN)
 
#define ADC_EXTERNALTRIGINJECCONV_T1_CC4   ((uint32_t)0x00000000U)
 
#define ADC_EXTERNALTRIGINJECCONV_T1_TRGO   ((uint32_t)ADC_CR2_JEXTSEL_0)
 
#define ADC_EXTERNALTRIGINJECCONV_T2_CC1   ((uint32_t)ADC_CR2_JEXTSEL_1)
 
#define ADC_EXTERNALTRIGINJECCONV_T2_TRGO   ((uint32_t)(ADC_CR2_JEXTSEL_1 | ADC_CR2_JEXTSEL_0))
 
#define ADC_EXTERNALTRIGINJECCONV_T3_CC2   ((uint32_t)ADC_CR2_JEXTSEL_2)
 
#define ADC_EXTERNALTRIGINJECCONV_T3_CC4   ((uint32_t)(ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_0))
 
#define ADC_EXTERNALTRIGINJECCONV_T4_CC1   ((uint32_t)(ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_1))
 
#define ADC_EXTERNALTRIGINJECCONV_T4_CC2   ((uint32_t)(ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_1 | ADC_CR2_JEXTSEL_0))
 
#define ADC_EXTERNALTRIGINJECCONV_T4_CC3   ((uint32_t)ADC_CR2_JEXTSEL_3)
 
#define ADC_EXTERNALTRIGINJECCONV_T4_TRGO   ((uint32_t)(ADC_CR2_JEXTSEL_3 | ADC_CR2_JEXTSEL_0))
 
#define ADC_EXTERNALTRIGINJECCONV_T5_CC4   ((uint32_t)(ADC_CR2_JEXTSEL_3 | ADC_CR2_JEXTSEL_1))
 
#define ADC_EXTERNALTRIGINJECCONV_T5_TRGO   ((uint32_t)(ADC_CR2_JEXTSEL_3 | ADC_CR2_JEXTSEL_1 | ADC_CR2_JEXTSEL_0))
 
#define ADC_EXTERNALTRIGINJECCONV_T8_CC2   ((uint32_t)(ADC_CR2_JEXTSEL_3 | ADC_CR2_JEXTSEL_2))
 
#define ADC_EXTERNALTRIGINJECCONV_T8_CC3   ((uint32_t)(ADC_CR2_JEXTSEL_3 | ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_0))
 
#define ADC_EXTERNALTRIGINJECCONV_T8_CC4   ((uint32_t)(ADC_CR2_JEXTSEL_3 | ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_1))
 
#define ADC_EXTERNALTRIGINJECCONV_EXT_IT15   ((uint32_t)ADC_CR2_JEXTSEL)
 
#define ADC_INJECTED_SOFTWARE_START   ((uint32_t)ADC_CR2_JEXTSEL + 1U)
 
#define ADC_INJECTED_RANK_1   ((uint32_t)0x00000001U)
 
#define ADC_INJECTED_RANK_2   ((uint32_t)0x00000002U)
 
#define ADC_INJECTED_RANK_3   ((uint32_t)0x00000003U)
 
#define ADC_INJECTED_RANK_4   ((uint32_t)0x00000004U)
 
#define IS_ADC_MODE(MODE)
 
#define IS_ADC_DMA_ACCESS_MODE(MODE)
 
#define IS_ADC_EXT_INJEC_TRIG_EDGE(EDGE)
 
#define IS_ADC_EXT_INJEC_TRIG(INJTRIG)
 
#define IS_ADC_INJECTED_LENGTH(LENGTH)   (((LENGTH) >= ((uint32_t)1U)) && ((LENGTH) <= ((uint32_t)4U)))
 
#define IS_ADC_INJECTED_RANK(RANK)   (((RANK) >= ((uint32_t)1U)) && ((RANK) <= ((uint32_t)4U)))
 
#define ADC_JSQR(_CHANNELNB_, _RANKNB_, _JSQR_JL_)   (((uint32_t)((uint16_t)(_CHANNELNB_))) << (5U * (uint8_t)(((_RANKNB_) + 3U) - (_JSQR_JL_))))
 Set the selected injected Channel rank. More...
 

Functions

HAL_StatusTypeDef HAL_ADCEx_InjectedStart (ADC_HandleTypeDef *hadc)
 
HAL_StatusTypeDef HAL_ADCEx_InjectedStop (ADC_HandleTypeDef *hadc)
 
HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion (ADC_HandleTypeDef *hadc, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT (ADC_HandleTypeDef *hadc)
 
HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT (ADC_HandleTypeDef *hadc)
 
uint32_t HAL_ADCEx_InjectedGetValue (ADC_HandleTypeDef *hadc, uint32_t InjectedRank)
 
HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA (ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length)
 
HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA (ADC_HandleTypeDef *hadc)
 
uint32_t HAL_ADCEx_MultiModeGetValue (ADC_HandleTypeDef *hadc)
 
void HAL_ADCEx_InjectedConvCpltCallback (ADC_HandleTypeDef *hadc)
 
HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel (ADC_HandleTypeDef *hadc, ADC_InjectionConfTypeDef *sConfigInjected)
 
HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel (ADC_HandleTypeDef *hadc, ADC_MultiModeTypeDef *multimode)
 

Detailed Description

Header file of ADC HAL module.

Author
MCD Application Team
Version
V1.5.0
Date
06-May-2016
Attention

© COPYRIGHT(c) 2016 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.