39 #ifndef __STM32F4xx_ADC_H 40 #define __STM32F4xx_ADC_H 175 #define HAL_ADC_STATE_RESET ((uint32_t)0x00000000U) 176 #define HAL_ADC_STATE_READY ((uint32_t)0x00000001U) 177 #define HAL_ADC_STATE_BUSY_INTERNAL ((uint32_t)0x00000002U) 178 #define HAL_ADC_STATE_TIMEOUT ((uint32_t)0x00000004U) 181 #define HAL_ADC_STATE_ERROR_INTERNAL ((uint32_t)0x00000010U) 182 #define HAL_ADC_STATE_ERROR_CONFIG ((uint32_t)0x00000020U) 183 #define HAL_ADC_STATE_ERROR_DMA ((uint32_t)0x00000040U) 186 #define HAL_ADC_STATE_REG_BUSY ((uint32_t)0x00000100U) 188 #define HAL_ADC_STATE_REG_EOC ((uint32_t)0x00000200U) 189 #define HAL_ADC_STATE_REG_OVR ((uint32_t)0x00000400U) 192 #define HAL_ADC_STATE_INJ_BUSY ((uint32_t)0x00001000U) 194 #define HAL_ADC_STATE_INJ_EOC ((uint32_t)0x00002000U) 197 #define HAL_ADC_STATE_AWD1 ((uint32_t)0x00010000U) 198 #define HAL_ADC_STATE_AWD2 ((uint32_t)0x00020000U) 199 #define HAL_ADC_STATE_AWD3 ((uint32_t)0x00040000U) 202 #define HAL_ADC_STATE_MULTIMODE_SLAVE ((uint32_t)0x00100000U) 214 __IO uint32_t NbrOfCurrentConversionRank;
236 #define HAL_ADC_ERROR_NONE ((uint32_t)0x00U) 237 #define HAL_ADC_ERROR_INTERNAL ((uint32_t)0x01U) 239 #define HAL_ADC_ERROR_OVR ((uint32_t)0x02U) 240 #define HAL_ADC_ERROR_DMA ((uint32_t)0x04U) 249 #define ADC_CLOCK_SYNC_PCLK_DIV2 ((uint32_t)0x00000000U) 250 #define ADC_CLOCK_SYNC_PCLK_DIV4 ((uint32_t)ADC_CCR_ADCPRE_0) 251 #define ADC_CLOCK_SYNC_PCLK_DIV6 ((uint32_t)ADC_CCR_ADCPRE_1) 252 #define ADC_CLOCK_SYNC_PCLK_DIV8 ((uint32_t)ADC_CCR_ADCPRE) 260 #define ADC_TWOSAMPLINGDELAY_5CYCLES ((uint32_t)0x00000000U) 261 #define ADC_TWOSAMPLINGDELAY_6CYCLES ((uint32_t)ADC_CCR_DELAY_0) 262 #define ADC_TWOSAMPLINGDELAY_7CYCLES ((uint32_t)ADC_CCR_DELAY_1) 263 #define ADC_TWOSAMPLINGDELAY_8CYCLES ((uint32_t)(ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)) 264 #define ADC_TWOSAMPLINGDELAY_9CYCLES ((uint32_t)ADC_CCR_DELAY_2) 265 #define ADC_TWOSAMPLINGDELAY_10CYCLES ((uint32_t)(ADC_CCR_DELAY_2 | ADC_CCR_DELAY_0)) 266 #define ADC_TWOSAMPLINGDELAY_11CYCLES ((uint32_t)(ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1)) 267 #define ADC_TWOSAMPLINGDELAY_12CYCLES ((uint32_t)(ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)) 268 #define ADC_TWOSAMPLINGDELAY_13CYCLES ((uint32_t)ADC_CCR_DELAY_3) 269 #define ADC_TWOSAMPLINGDELAY_14CYCLES ((uint32_t)(ADC_CCR_DELAY_3 | ADC_CCR_DELAY_0)) 270 #define ADC_TWOSAMPLINGDELAY_15CYCLES ((uint32_t)(ADC_CCR_DELAY_3 | ADC_CCR_DELAY_1)) 271 #define ADC_TWOSAMPLINGDELAY_16CYCLES ((uint32_t)(ADC_CCR_DELAY_3 | ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)) 272 #define ADC_TWOSAMPLINGDELAY_17CYCLES ((uint32_t)(ADC_CCR_DELAY_3 | ADC_CCR_DELAY_2)) 273 #define ADC_TWOSAMPLINGDELAY_18CYCLES ((uint32_t)(ADC_CCR_DELAY_3 | ADC_CCR_DELAY_2 | ADC_CCR_DELAY_0)) 274 #define ADC_TWOSAMPLINGDELAY_19CYCLES ((uint32_t)(ADC_CCR_DELAY_3 | ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1)) 275 #define ADC_TWOSAMPLINGDELAY_20CYCLES ((uint32_t)ADC_CCR_DELAY) 283 #define ADC_RESOLUTION_12B ((uint32_t)0x00000000U) 284 #define ADC_RESOLUTION_10B ((uint32_t)ADC_CR1_RES_0) 285 #define ADC_RESOLUTION_8B ((uint32_t)ADC_CR1_RES_1) 286 #define ADC_RESOLUTION_6B ((uint32_t)ADC_CR1_RES) 294 #define ADC_EXTERNALTRIGCONVEDGE_NONE ((uint32_t)0x00000000U) 295 #define ADC_EXTERNALTRIGCONVEDGE_RISING ((uint32_t)ADC_CR2_EXTEN_0) 296 #define ADC_EXTERNALTRIGCONVEDGE_FALLING ((uint32_t)ADC_CR2_EXTEN_1) 297 #define ADC_EXTERNALTRIGCONVEDGE_RISINGFALLING ((uint32_t)ADC_CR2_EXTEN) 307 #define ADC_EXTERNALTRIGCONV_T1_CC1 ((uint32_t)0x00000000U) 308 #define ADC_EXTERNALTRIGCONV_T1_CC2 ((uint32_t)ADC_CR2_EXTSEL_0) 309 #define ADC_EXTERNALTRIGCONV_T1_CC3 ((uint32_t)ADC_CR2_EXTSEL_1) 310 #define ADC_EXTERNALTRIGCONV_T2_CC2 ((uint32_t)(ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0)) 311 #define ADC_EXTERNALTRIGCONV_T2_CC3 ((uint32_t)ADC_CR2_EXTSEL_2) 312 #define ADC_EXTERNALTRIGCONV_T2_CC4 ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_0)) 313 #define ADC_EXTERNALTRIGCONV_T2_TRGO ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1)) 314 #define ADC_EXTERNALTRIGCONV_T3_CC1 ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0)) 315 #define ADC_EXTERNALTRIGCONV_T3_TRGO ((uint32_t)ADC_CR2_EXTSEL_3) 316 #define ADC_EXTERNALTRIGCONV_T4_CC4 ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_0)) 317 #define ADC_EXTERNALTRIGCONV_T5_CC1 ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_1)) 318 #define ADC_EXTERNALTRIGCONV_T5_CC2 ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0)) 319 #define ADC_EXTERNALTRIGCONV_T5_CC3 ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2)) 320 #define ADC_EXTERNALTRIGCONV_T8_CC1 ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_0)) 321 #define ADC_EXTERNALTRIGCONV_T8_TRGO ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1)) 322 #define ADC_EXTERNALTRIGCONV_Ext_IT11 ((uint32_t)ADC_CR2_EXTSEL) 323 #define ADC_SOFTWARE_START ((uint32_t)ADC_CR2_EXTSEL + 1U) 331 #define ADC_DATAALIGN_RIGHT ((uint32_t)0x00000000U) 332 #define ADC_DATAALIGN_LEFT ((uint32_t)ADC_CR2_ALIGN) 340 #define ADC_CHANNEL_0 ((uint32_t)0x00000000U) 341 #define ADC_CHANNEL_1 ((uint32_t)ADC_CR1_AWDCH_0) 342 #define ADC_CHANNEL_2 ((uint32_t)ADC_CR1_AWDCH_1) 343 #define ADC_CHANNEL_3 ((uint32_t)(ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 344 #define ADC_CHANNEL_4 ((uint32_t)ADC_CR1_AWDCH_2) 345 #define ADC_CHANNEL_5 ((uint32_t)(ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_0)) 346 #define ADC_CHANNEL_6 ((uint32_t)(ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1)) 347 #define ADC_CHANNEL_7 ((uint32_t)(ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 348 #define ADC_CHANNEL_8 ((uint32_t)ADC_CR1_AWDCH_3) 349 #define ADC_CHANNEL_9 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_0)) 350 #define ADC_CHANNEL_10 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_1)) 351 #define ADC_CHANNEL_11 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 352 #define ADC_CHANNEL_12 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2)) 353 #define ADC_CHANNEL_13 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_0)) 354 #define ADC_CHANNEL_14 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1)) 355 #define ADC_CHANNEL_15 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 356 #define ADC_CHANNEL_16 ((uint32_t)ADC_CR1_AWDCH_4) 357 #define ADC_CHANNEL_17 ((uint32_t)(ADC_CR1_AWDCH_4 | ADC_CR1_AWDCH_0)) 358 #define ADC_CHANNEL_18 ((uint32_t)(ADC_CR1_AWDCH_4 | ADC_CR1_AWDCH_1)) 360 #define ADC_CHANNEL_VREFINT ((uint32_t)ADC_CHANNEL_17) 361 #define ADC_CHANNEL_VBAT ((uint32_t)ADC_CHANNEL_18) 369 #define ADC_SAMPLETIME_3CYCLES ((uint32_t)0x00000000U) 370 #define ADC_SAMPLETIME_15CYCLES ((uint32_t)ADC_SMPR1_SMP10_0) 371 #define ADC_SAMPLETIME_28CYCLES ((uint32_t)ADC_SMPR1_SMP10_1) 372 #define ADC_SAMPLETIME_56CYCLES ((uint32_t)(ADC_SMPR1_SMP10_1 | ADC_SMPR1_SMP10_0)) 373 #define ADC_SAMPLETIME_84CYCLES ((uint32_t)ADC_SMPR1_SMP10_2) 374 #define ADC_SAMPLETIME_112CYCLES ((uint32_t)(ADC_SMPR1_SMP10_2 | ADC_SMPR1_SMP10_0)) 375 #define ADC_SAMPLETIME_144CYCLES ((uint32_t)(ADC_SMPR1_SMP10_2 | ADC_SMPR1_SMP10_1)) 376 #define ADC_SAMPLETIME_480CYCLES ((uint32_t)ADC_SMPR1_SMP10) 384 #define ADC_EOC_SEQ_CONV ((uint32_t)0x00000000U) 385 #define ADC_EOC_SINGLE_CONV ((uint32_t)0x00000001U) 386 #define ADC_EOC_SINGLE_SEQ_CONV ((uint32_t)0x00000002U) 394 #define ADC_AWD_EVENT ((uint32_t)ADC_FLAG_AWD) 395 #define ADC_OVR_EVENT ((uint32_t)ADC_FLAG_OVR) 403 #define ADC_ANALOGWATCHDOG_SINGLE_REG ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_AWDEN)) 404 #define ADC_ANALOGWATCHDOG_SINGLE_INJEC ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_JAWDEN)) 405 #define ADC_ANALOGWATCHDOG_SINGLE_REGINJEC ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_AWDEN | ADC_CR1_JAWDEN)) 406 #define ADC_ANALOGWATCHDOG_ALL_REG ((uint32_t)ADC_CR1_AWDEN) 407 #define ADC_ANALOGWATCHDOG_ALL_INJEC ((uint32_t)ADC_CR1_JAWDEN) 408 #define ADC_ANALOGWATCHDOG_ALL_REGINJEC ((uint32_t)(ADC_CR1_AWDEN | ADC_CR1_JAWDEN)) 409 #define ADC_ANALOGWATCHDOG_NONE ((uint32_t)0x00000000U) 417 #define ADC_IT_EOC ((uint32_t)ADC_CR1_EOCIE) 418 #define ADC_IT_AWD ((uint32_t)ADC_CR1_AWDIE) 419 #define ADC_IT_JEOC ((uint32_t)ADC_CR1_JEOCIE) 420 #define ADC_IT_OVR ((uint32_t)ADC_CR1_OVRIE) 428 #define ADC_FLAG_AWD ((uint32_t)ADC_SR_AWD) 429 #define ADC_FLAG_EOC ((uint32_t)ADC_SR_EOC) 430 #define ADC_FLAG_JEOC ((uint32_t)ADC_SR_JEOC) 431 #define ADC_FLAG_JSTRT ((uint32_t)ADC_SR_JSTRT) 432 #define ADC_FLAG_STRT ((uint32_t)ADC_SR_STRT) 433 #define ADC_FLAG_OVR ((uint32_t)ADC_SR_OVR) 441 #define ADC_ALL_CHANNELS ((uint32_t)0x00000001U) 442 #define ADC_REGULAR_CHANNELS ((uint32_t)0x00000002U) 443 #define ADC_INJECTED_CHANNELS ((uint32_t)0x00000003U) 461 #define __HAL_ADC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_ADC_STATE_RESET) 468 #define __HAL_ADC_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR2 |= ADC_CR2_ADON) 475 #define __HAL_ADC_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR2 &= ~ADC_CR2_ADON) 483 #define __HAL_ADC_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR1) |= (__INTERRUPT__)) 491 #define __HAL_ADC_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR1) &= ~(__INTERRUPT__)) 498 #define __HAL_ADC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR1 & (__INTERRUPT__)) == (__INTERRUPT__)) 506 #define __HAL_ADC_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR) = ~(__FLAG__)) 514 #define __HAL_ADC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) 600 #define ADC_STAB_DELAY_US ((uint32_t) 3U) 604 #define ADC_TEMPSENSOR_DELAY_US ((uint32_t) 10U) 622 #define ADC_IS_ENABLE(__HANDLE__) \ 623 ((( ((__HANDLE__)->Instance->SR & ADC_SR_ADONS) == ADC_SR_ADONS ) \ 632 #define ADC_IS_SOFTWARE_START_REGULAR(__HANDLE__) \ 633 (((__HANDLE__)->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 641 #define ADC_IS_SOFTWARE_START_INJECTED(__HANDLE__) \ 642 (((__HANDLE__)->Instance->CR2 & ADC_CR2_JEXTEN) == RESET) 651 #define ADC_STATE_CLR_SET MODIFY_REG 658 #define ADC_CLEAR_ERRORCODE(__HANDLE__) \ 659 ((__HANDLE__)->ErrorCode = HAL_ADC_ERROR_NONE) 662 #define IS_ADC_CLOCKPRESCALER(ADC_CLOCK) (((ADC_CLOCK) == ADC_CLOCK_SYNC_PCLK_DIV2) || \ 663 ((ADC_CLOCK) == ADC_CLOCK_SYNC_PCLK_DIV4) || \ 664 ((ADC_CLOCK) == ADC_CLOCK_SYNC_PCLK_DIV6) || \ 665 ((ADC_CLOCK) == ADC_CLOCK_SYNC_PCLK_DIV8)) 666 #define IS_ADC_SAMPLING_DELAY(DELAY) (((DELAY) == ADC_TWOSAMPLINGDELAY_5CYCLES) || \ 667 ((DELAY) == ADC_TWOSAMPLINGDELAY_6CYCLES) || \ 668 ((DELAY) == ADC_TWOSAMPLINGDELAY_7CYCLES) || \ 669 ((DELAY) == ADC_TWOSAMPLINGDELAY_8CYCLES) || \ 670 ((DELAY) == ADC_TWOSAMPLINGDELAY_9CYCLES) || \ 671 ((DELAY) == ADC_TWOSAMPLINGDELAY_10CYCLES) || \ 672 ((DELAY) == ADC_TWOSAMPLINGDELAY_11CYCLES) || \ 673 ((DELAY) == ADC_TWOSAMPLINGDELAY_12CYCLES) || \ 674 ((DELAY) == ADC_TWOSAMPLINGDELAY_13CYCLES) || \ 675 ((DELAY) == ADC_TWOSAMPLINGDELAY_14CYCLES) || \ 676 ((DELAY) == ADC_TWOSAMPLINGDELAY_15CYCLES) || \ 677 ((DELAY) == ADC_TWOSAMPLINGDELAY_16CYCLES) || \ 678 ((DELAY) == ADC_TWOSAMPLINGDELAY_17CYCLES) || \ 679 ((DELAY) == ADC_TWOSAMPLINGDELAY_18CYCLES) || \ 680 ((DELAY) == ADC_TWOSAMPLINGDELAY_19CYCLES) || \ 681 ((DELAY) == ADC_TWOSAMPLINGDELAY_20CYCLES)) 682 #define IS_ADC_RESOLUTION(RESOLUTION) (((RESOLUTION) == ADC_RESOLUTION_12B) || \ 683 ((RESOLUTION) == ADC_RESOLUTION_10B) || \ 684 ((RESOLUTION) == ADC_RESOLUTION_8B) || \ 685 ((RESOLUTION) == ADC_RESOLUTION_6B)) 686 #define IS_ADC_EXT_TRIG_EDGE(EDGE) (((EDGE) == ADC_EXTERNALTRIGCONVEDGE_NONE) || \ 687 ((EDGE) == ADC_EXTERNALTRIGCONVEDGE_RISING) || \ 688 ((EDGE) == ADC_EXTERNALTRIGCONVEDGE_FALLING) || \ 689 ((EDGE) == ADC_EXTERNALTRIGCONVEDGE_RISINGFALLING)) 690 #define IS_ADC_EXT_TRIG(REGTRIG) (((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC1) || \ 691 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC2) || \ 692 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC3) || \ 693 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC2) || \ 694 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC3) || \ 695 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC4) || \ 696 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_TRGO) || \ 697 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T3_CC1) || \ 698 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T3_TRGO) || \ 699 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T4_CC4) || \ 700 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T5_CC1) || \ 701 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T5_CC2) || \ 702 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T5_CC3) || \ 703 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T8_CC1) || \ 704 ((REGTRIG) == ADC_EXTERNALTRIGCONV_T8_TRGO) || \ 705 ((REGTRIG) == ADC_EXTERNALTRIGCONV_Ext_IT11)|| \ 706 ((REGTRIG) == ADC_SOFTWARE_START)) 707 #define IS_ADC_DATA_ALIGN(ALIGN) (((ALIGN) == ADC_DATAALIGN_RIGHT) || \ 708 ((ALIGN) == ADC_DATAALIGN_LEFT)) 709 #define IS_ADC_SAMPLE_TIME(TIME) (((TIME) == ADC_SAMPLETIME_3CYCLES) || \ 710 ((TIME) == ADC_SAMPLETIME_15CYCLES) || \ 711 ((TIME) == ADC_SAMPLETIME_28CYCLES) || \ 712 ((TIME) == ADC_SAMPLETIME_56CYCLES) || \ 713 ((TIME) == ADC_SAMPLETIME_84CYCLES) || \ 714 ((TIME) == ADC_SAMPLETIME_112CYCLES) || \ 715 ((TIME) == ADC_SAMPLETIME_144CYCLES) || \ 716 ((TIME) == ADC_SAMPLETIME_480CYCLES)) 717 #define IS_ADC_EOCSelection(EOCSelection) (((EOCSelection) == ADC_EOC_SINGLE_CONV) || \ 718 ((EOCSelection) == ADC_EOC_SEQ_CONV) || \ 719 ((EOCSelection) == ADC_EOC_SINGLE_SEQ_CONV)) 720 #define IS_ADC_EVENT_TYPE(EVENT) (((EVENT) == ADC_AWD_EVENT) || \ 721 ((EVENT) == ADC_OVR_EVENT)) 722 #define IS_ADC_ANALOG_WATCHDOG(WATCHDOG) (((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_REG) || \ 723 ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_INJEC) || \ 724 ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_REGINJEC) || \ 725 ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_REG) || \ 726 ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_INJEC) || \ 727 ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_REGINJEC) || \ 728 ((WATCHDOG) == ADC_ANALOGWATCHDOG_NONE)) 729 #define IS_ADC_CHANNELS_TYPE(CHANNEL_TYPE) (((CHANNEL_TYPE) == ADC_ALL_CHANNELS) || \ 730 ((CHANNEL_TYPE) == ADC_REGULAR_CHANNELS) || \ 731 ((CHANNEL_TYPE) == ADC_INJECTED_CHANNELS)) 732 #define IS_ADC_THRESHOLD(THRESHOLD) ((THRESHOLD) <= ((uint32_t)0xFFFU)) 734 #define IS_ADC_REGULAR_LENGTH(LENGTH) (((LENGTH) >= ((uint32_t)1U)) && ((LENGTH) <= ((uint32_t)16U))) 735 #define IS_ADC_REGULAR_RANK(RANK) (((RANK) >= ((uint32_t)1U)) && ((RANK) <= ((uint32_t)16U))) 736 #define IS_ADC_REGULAR_DISC_NUMBER(NUMBER) (((NUMBER) >= ((uint32_t)1U)) && ((NUMBER) <= ((uint32_t)8U))) 737 #define IS_ADC_RANGE(RESOLUTION, ADC_VALUE) \ 738 ((((RESOLUTION) == ADC_RESOLUTION_12B) && ((ADC_VALUE) <= ((uint32_t)0x0FFFU))) || \ 739 (((RESOLUTION) == ADC_RESOLUTION_10B) && ((ADC_VALUE) <= ((uint32_t)0x03FFU))) || \ 740 (((RESOLUTION) == ADC_RESOLUTION_8B) && ((ADC_VALUE) <= ((uint32_t)0x00FFU))) || \ 741 (((RESOLUTION) == ADC_RESOLUTION_6B) && ((ADC_VALUE) <= ((uint32_t)0x003FU)))) 748 #define ADC_SQR1(_NbrOfConversion_) (((_NbrOfConversion_) - (uint8_t)1U) << 20U) 756 #define ADC_SMPR1(_SAMPLETIME_, _CHANNELNB_) ((_SAMPLETIME_) << (3U * (((uint32_t)((uint16_t)(_CHANNELNB_))) - 10U))) 764 #define ADC_SMPR2(_SAMPLETIME_, _CHANNELNB_) ((_SAMPLETIME_) << (3U * ((uint32_t)((uint16_t)(_CHANNELNB_))))) 772 #define ADC_SQR3_RK(_CHANNELNB_, _RANKNB_) (((uint32_t)((uint16_t)(_CHANNELNB_))) << (5U * ((_RANKNB_) - 1U))) 780 #define ADC_SQR2_RK(_CHANNELNB_, _RANKNB_) (((uint32_t)((uint16_t)(_CHANNELNB_))) << (5U * ((_RANKNB_) - 7U))) 788 #define ADC_SQR1_RK(_CHANNELNB_, _RANKNB_) (((uint32_t)((uint16_t)(_CHANNELNB_))) << (5U * ((_RANKNB_) - 13U))) 795 #define ADC_CR2_CONTINUOUS(_CONTINUOUS_MODE_) ((_CONTINUOUS_MODE_) << 1U) 802 #define ADC_CR1_DISCONTINUOUS(_NBR_DISCONTINUOUSCONV_) (((_NBR_DISCONTINUOUSCONV_) - 1U) << POSITION_VAL(ADC_CR1_DISCNUM)) 809 #define ADC_CR1_SCANCONV(_SCANCONV_MODE_) ((_SCANCONV_MODE_) << 8U) 816 #define ADC_CR2_EOCSelection(_EOCSelection_MODE_) ((_EOCSelection_MODE_) << 10U) 823 #define ADC_CR2_DMAContReq(_DMAContReq_MODE_) ((_DMAContReq_MODE_) << 9U) 830 #define ADC_GET_RESOLUTION(__HANDLE__) (((__HANDLE__)->Instance->CR1) & ADC_CR1_RES) uint32_t ExternalTrigConv
Definition: stm32f4xx_hal_adc.h:112
uint32_t ContinuousConvMode
Definition: stm32f4xx_hal_adc.h:99
uint32_t Rank
Definition: stm32f4xx_hal_adc.h:137
Structure definition of ADC channel for regular group.
Definition: stm32f4xx_hal_adc.h:133
This file contains HAL common defines, enumeration, macros and structures definitions.
uint32_t HighThreshold
Definition: stm32f4xx_hal_adc.h:158
uint32_t SamplingTime
Definition: stm32f4xx_hal_adc.h:139
uint32_t DMAContinuousRequests
Definition: stm32f4xx_hal_adc.h:119
Structure definition of ADC and regular group initialization.
Definition: stm32f4xx_hal_adc.h:75
uint32_t Channel
Definition: stm32f4xx_hal_adc.h:135
uint32_t Channel
Definition: stm32f4xx_hal_adc.h:162
uint32_t Offset
Definition: stm32f4xx_hal_adc.h:148
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
#define __IO
Definition: core_cm0.h:213
uint32_t DataAlign
Definition: stm32f4xx_hal_adc.h:82
Analog to Digital Converter.
Definition: stm32f401xc.h:171
uint32_t Resolution
Definition: stm32f4xx_hal_adc.h:80
uint32_t ClockPrescaler
Definition: stm32f4xx_hal_adc.h:77
uint32_t NbrOfDiscConversion
Definition: stm32f4xx_hal_adc.h:109
Header file of ADC HAL module.
ADC Configuration multi-mode structure definition.
Definition: stm32f4xx_hal_adc.h:154
uint32_t ITMode
Definition: stm32f4xx_hal_adc.h:165
uint32_t NbrOfConversion
Definition: stm32f4xx_hal_adc.h:102
uint32_t EOCSelection
Definition: stm32f4xx_hal_adc.h:92
ADC handle Structure definition.
Definition: stm32f4xx_hal_adc.h:210
uint32_t DiscontinuousConvMode
Definition: stm32f4xx_hal_adc.h:105
uint32_t WatchdogMode
Definition: stm32f4xx_hal_adc.h:156
HAL_LockTypeDef
HAL Lock structures definition.
Definition: stm32f4xx_hal_def.h:68
uint32_t ScanConvMode
Definition: stm32f4xx_hal_adc.h:85
DMA handle Structure definition.
Definition: stm32f4xx_hal_dma.h:157
uint32_t ExternalTrigConvEdge
Definition: stm32f4xx_hal_adc.h:116
uint32_t WatchdogNumber
Definition: stm32f4xx_hal_adc.h:168
uint32_t LowThreshold
Definition: stm32f4xx_hal_adc.h:160