39 #ifndef __STM32F7xx_ADC_H 40 #define __STM32F7xx_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) 309 #define ADC_EXTERNALTRIGCONV_T1_CC1 ((uint32_t)0x00000000U) 310 #define ADC_EXTERNALTRIGCONV_T1_CC2 ((uint32_t)ADC_CR2_EXTSEL_0) 311 #define ADC_EXTERNALTRIGCONV_T1_CC3 ((uint32_t)ADC_CR2_EXTSEL_1) 312 #define ADC_EXTERNALTRIGCONV_T2_CC2 ((uint32_t)(ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0)) 313 #define ADC_EXTERNALTRIGCONV_T5_TRGO ((uint32_t)ADC_CR2_EXTSEL_2) 314 #define ADC_EXTERNALTRIGCONV_T4_CC4 ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_0)) 315 #define ADC_EXTERNALTRIGCONV_T3_CC4 ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1)) 316 #define ADC_EXTERNALTRIGCONV_T8_TRGO ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0)) 317 #define ADC_EXTERNALTRIGCONV_T8_TRGO2 ((uint32_t)ADC_CR2_EXTSEL_3) 318 #define ADC_EXTERNALTRIGCONV_T1_TRGO ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_0)) 319 #define ADC_EXTERNALTRIGCONV_T1_TRGO2 ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_1)) 320 #define ADC_EXTERNALTRIGCONV_T2_TRGO ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0)) 321 #define ADC_EXTERNALTRIGCONV_T4_TRGO ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2)) 322 #define ADC_EXTERNALTRIGCONV_T6_TRGO ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_0)) 324 #define ADC_EXTERNALTRIGCONV_EXT_IT11 ((uint32_t)ADC_CR2_EXTSEL) 325 #define ADC_SOFTWARE_START ((uint32_t)ADC_CR2_EXTSEL + 1) 334 #define ADC_DATAALIGN_RIGHT ((uint32_t)0x00000000U) 335 #define ADC_DATAALIGN_LEFT ((uint32_t)ADC_CR2_ALIGN) 343 #define ADC_CHANNEL_0 ((uint32_t)0x00000000U) 344 #define ADC_CHANNEL_1 ((uint32_t)ADC_CR1_AWDCH_0) 345 #define ADC_CHANNEL_2 ((uint32_t)ADC_CR1_AWDCH_1) 346 #define ADC_CHANNEL_3 ((uint32_t)(ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 347 #define ADC_CHANNEL_4 ((uint32_t)ADC_CR1_AWDCH_2) 348 #define ADC_CHANNEL_5 ((uint32_t)(ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_0)) 349 #define ADC_CHANNEL_6 ((uint32_t)(ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1)) 350 #define ADC_CHANNEL_7 ((uint32_t)(ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 351 #define ADC_CHANNEL_8 ((uint32_t)ADC_CR1_AWDCH_3) 352 #define ADC_CHANNEL_9 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_0)) 353 #define ADC_CHANNEL_10 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_1)) 354 #define ADC_CHANNEL_11 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 355 #define ADC_CHANNEL_12 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2)) 356 #define ADC_CHANNEL_13 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_0)) 357 #define ADC_CHANNEL_14 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1)) 358 #define ADC_CHANNEL_15 ((uint32_t)(ADC_CR1_AWDCH_3 | ADC_CR1_AWDCH_2 | ADC_CR1_AWDCH_1 | ADC_CR1_AWDCH_0)) 359 #define ADC_CHANNEL_16 ((uint32_t)ADC_CR1_AWDCH_4) 360 #define ADC_CHANNEL_17 ((uint32_t)(ADC_CR1_AWDCH_4 | ADC_CR1_AWDCH_0)) 361 #define ADC_CHANNEL_18 ((uint32_t)(ADC_CR1_AWDCH_4 | ADC_CR1_AWDCH_1)) 363 #define ADC_CHANNEL_VREFINT ((uint32_t)ADC_CHANNEL_17) 364 #define ADC_CHANNEL_VBAT ((uint32_t)ADC_CHANNEL_18) 372 #define ADC_SAMPLETIME_3CYCLES ((uint32_t)0x00000000U) 373 #define ADC_SAMPLETIME_15CYCLES ((uint32_t)ADC_SMPR1_SMP10_0) 374 #define ADC_SAMPLETIME_28CYCLES ((uint32_t)ADC_SMPR1_SMP10_1) 375 #define ADC_SAMPLETIME_56CYCLES ((uint32_t)(ADC_SMPR1_SMP10_1 | ADC_SMPR1_SMP10_0)) 376 #define ADC_SAMPLETIME_84CYCLES ((uint32_t)ADC_SMPR1_SMP10_2) 377 #define ADC_SAMPLETIME_112CYCLES ((uint32_t)(ADC_SMPR1_SMP10_2 | ADC_SMPR1_SMP10_0)) 378 #define ADC_SAMPLETIME_144CYCLES ((uint32_t)(ADC_SMPR1_SMP10_2 | ADC_SMPR1_SMP10_1)) 379 #define ADC_SAMPLETIME_480CYCLES ((uint32_t)ADC_SMPR1_SMP10) 387 #define ADC_EOC_SEQ_CONV ((uint32_t)0x00000000U) 388 #define ADC_EOC_SINGLE_CONV ((uint32_t)0x00000001U) 389 #define ADC_EOC_SINGLE_SEQ_CONV ((uint32_t)0x00000002U) 397 #define ADC_AWD_EVENT ((uint32_t)ADC_FLAG_AWD) 398 #define ADC_OVR_EVENT ((uint32_t)ADC_FLAG_OVR) 406 #define ADC_ANALOGWATCHDOG_SINGLE_REG ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_AWDEN)) 407 #define ADC_ANALOGWATCHDOG_SINGLE_INJEC ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_JAWDEN)) 408 #define ADC_ANALOGWATCHDOG_SINGLE_REGINJEC ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_AWDEN | ADC_CR1_JAWDEN)) 409 #define ADC_ANALOGWATCHDOG_ALL_REG ((uint32_t)ADC_CR1_AWDEN) 410 #define ADC_ANALOGWATCHDOG_ALL_INJEC ((uint32_t)ADC_CR1_JAWDEN) 411 #define ADC_ANALOGWATCHDOG_ALL_REGINJEC ((uint32_t)(ADC_CR1_AWDEN | ADC_CR1_JAWDEN)) 412 #define ADC_ANALOGWATCHDOG_NONE ((uint32_t)0x00000000U) 420 #define ADC_IT_EOC ((uint32_t)ADC_CR1_EOCIE) 421 #define ADC_IT_AWD ((uint32_t)ADC_CR1_AWDIE) 422 #define ADC_IT_JEOC ((uint32_t)ADC_CR1_JEOCIE) 423 #define ADC_IT_OVR ((uint32_t)ADC_CR1_OVRIE) 431 #define ADC_FLAG_AWD ((uint32_t)ADC_SR_AWD) 432 #define ADC_FLAG_EOC ((uint32_t)ADC_SR_EOC) 433 #define ADC_FLAG_JEOC ((uint32_t)ADC_SR_JEOC) 434 #define ADC_FLAG_JSTRT ((uint32_t)ADC_SR_JSTRT) 435 #define ADC_FLAG_STRT ((uint32_t)ADC_SR_STRT) 436 #define ADC_FLAG_OVR ((uint32_t)ADC_SR_OVR) 444 #define ADC_ALL_CHANNELS ((uint32_t)0x00000001U) 445 #define ADC_REGULAR_CHANNELS ((uint32_t)0x00000002U) 446 #define ADC_INJECTED_CHANNELS ((uint32_t)0x00000003U) 464 #define __HAL_ADC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_ADC_STATE_RESET) 471 #define __HAL_ADC_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR2 |= ADC_CR2_ADON) 478 #define __HAL_ADC_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR2 &= ~ADC_CR2_ADON) 486 #define __HAL_ADC_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR1) |= (__INTERRUPT__)) 494 #define __HAL_ADC_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR1) &= ~(__INTERRUPT__)) 501 #define __HAL_ADC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR1 & (__INTERRUPT__)) == (__INTERRUPT__)) 509 #define __HAL_ADC_CLEAR_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR) = ~(__FLAG__)) 517 #define __HAL_ADC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) 604 #define ADC_STAB_DELAY_US ((uint32_t) 3U) 608 #define ADC_TEMPSENSOR_DELAY_US ((uint32_t) 10U) 625 #define ADC_IS_ENABLE(__HANDLE__) \ 626 ((( ((__HANDLE__)->Instance->SR & ADC_SR_ADONS) == ADC_SR_ADONS ) \ 635 #define ADC_IS_SOFTWARE_START_REGULAR(__HANDLE__) \ 636 (((__HANDLE__)->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 644 #define ADC_IS_SOFTWARE_START_INJECTED(__HANDLE__) \ 645 (((__HANDLE__)->Instance->CR2 & ADC_CR2_JEXTEN) == RESET) 654 #define ADC_STATE_CLR_SET MODIFY_REG 661 #define ADC_CLEAR_ERRORCODE(__HANDLE__) \ 662 ((__HANDLE__)->ErrorCode = HAL_ADC_ERROR_NONE) 663 #define IS_ADC_CLOCKPRESCALER(__ADC_CLOCK__) (((__ADC_CLOCK__) == ADC_CLOCK_SYNC_PCLK_DIV2) || \ 664 ((__ADC_CLOCK__) == ADC_CLOCK_SYNC_PCLK_DIV4) || \ 665 ((__ADC_CLOCK__) == ADC_CLOCK_SYNC_PCLK_DIV6) || \ 666 ((__ADC_CLOCK__) == ADC_CLOCK_SYNC_PCLK_DIV8)) 667 #define IS_ADC_SAMPLING_DELAY(__DELAY__) (((__DELAY__) == ADC_TWOSAMPLINGDELAY_5CYCLES) || \ 668 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_6CYCLES) || \ 669 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_7CYCLES) || \ 670 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_8CYCLES) || \ 671 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_9CYCLES) || \ 672 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_10CYCLES) || \ 673 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_11CYCLES) || \ 674 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_12CYCLES) || \ 675 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_13CYCLES) || \ 676 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_14CYCLES) || \ 677 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_15CYCLES) || \ 678 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_16CYCLES) || \ 679 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_17CYCLES) || \ 680 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_18CYCLES) || \ 681 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_19CYCLES) || \ 682 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_20CYCLES)) 683 #define IS_ADC_RESOLUTION(__RESOLUTION__) (((__RESOLUTION__) == ADC_RESOLUTION_12B) || \ 684 ((__RESOLUTION__) == ADC_RESOLUTION_10B) || \ 685 ((__RESOLUTION__) == ADC_RESOLUTION_8B) || \ 686 ((__RESOLUTION__) == ADC_RESOLUTION_6B)) 687 #define IS_ADC_EXT_TRIG_EDGE(__EDGE__) (((__EDGE__) == ADC_EXTERNALTRIGCONVEDGE_NONE) || \ 688 ((__EDGE__) == ADC_EXTERNALTRIGCONVEDGE_RISING) || \ 689 ((__EDGE__) == ADC_EXTERNALTRIGCONVEDGE_FALLING) || \ 690 ((__EDGE__) == ADC_EXTERNALTRIGCONVEDGE_RISINGFALLING)) 691 #define IS_ADC_EXT_TRIG(__REGTRIG__) (((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T1_CC1) || \ 692 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T1_CC2) || \ 693 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T1_CC3) || \ 694 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T2_CC2) || \ 695 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T5_TRGO) || \ 696 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T4_CC4) || \ 697 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T3_CC4) || \ 698 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T8_TRGO) || \ 699 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T8_TRGO2) || \ 700 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T1_TRGO) || \ 701 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T1_TRGO2) || \ 702 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T2_TRGO) || \ 703 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T4_TRGO) || \ 704 ((__REGTRIG__) == ADC_EXTERNALTRIGCONV_T6_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)) 710 #define IS_ADC_SAMPLE_TIME(__TIME__) (((__TIME__) == ADC_SAMPLETIME_3CYCLES) || \ 711 ((__TIME__) == ADC_SAMPLETIME_15CYCLES) || \ 712 ((__TIME__) == ADC_SAMPLETIME_28CYCLES) || \ 713 ((__TIME__) == ADC_SAMPLETIME_56CYCLES) || \ 714 ((__TIME__) == ADC_SAMPLETIME_84CYCLES) || \ 715 ((__TIME__) == ADC_SAMPLETIME_112CYCLES) || \ 716 ((__TIME__) == ADC_SAMPLETIME_144CYCLES) || \ 717 ((__TIME__) == ADC_SAMPLETIME_480CYCLES)) 718 #define IS_ADC_EOCSelection(__EOCSelection__) (((__EOCSelection__) == ADC_EOC_SINGLE_CONV) || \ 719 ((__EOCSelection__) == ADC_EOC_SEQ_CONV) || \ 720 ((__EOCSelection__) == ADC_EOC_SINGLE_SEQ_CONV)) 721 #define IS_ADC_EVENT_TYPE(__EVENT__) (((__EVENT__) == ADC_AWD_EVENT) || \ 722 ((__EVENT__) == ADC_OVR_EVENT)) 723 #define IS_ADC_ANALOG_WATCHDOG(__WATCHDOG__) (((__WATCHDOG__) == ADC_ANALOGWATCHDOG_SINGLE_REG) || \ 724 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_SINGLE_INJEC) || \ 725 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_SINGLE_REGINJEC) || \ 726 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_ALL_REG) || \ 727 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_ALL_INJEC) || \ 728 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_ALL_REGINJEC) || \ 729 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_NONE)) 730 #define IS_ADC_CHANNELS_TYPE(CHANNEL_TYPE) (((CHANNEL_TYPE) == ADC_ALL_CHANNELS) || \ 731 ((CHANNEL_TYPE) == ADC_REGULAR_CHANNELS) || \ 732 ((CHANNEL_TYPE) == ADC_INJECTED_CHANNELS)) 733 #define IS_ADC_THRESHOLD(__THRESHOLD__) ((__THRESHOLD__) <= ((uint32_t)0xFFF)) 734 #define IS_ADC_REGULAR_LENGTH(__LENGTH__) (((__LENGTH__) >= ((uint32_t)1)) && ((__LENGTH__) <= ((uint32_t)16))) 735 #define IS_ADC_REGULAR_RANK(__RANK__) (((__RANK__) >= ((uint32_t)1)) && ((__RANK__) <= ((uint32_t)16))) 736 #define IS_ADC_REGULAR_DISC_NUMBER(__NUMBER__) (((__NUMBER__) >= ((uint32_t)1)) && ((__NUMBER__) <= ((uint32_t)8))) 737 #define IS_ADC_RANGE(__RESOLUTION__, __ADC_VALUE__) \ 738 ((((__RESOLUTION__) == ADC_RESOLUTION_12B) && ((__ADC_VALUE__) <= ((uint32_t)0x0FFF))) || \ 739 (((__RESOLUTION__) == ADC_RESOLUTION_10B) && ((__ADC_VALUE__) <= ((uint32_t)0x03FF))) || \ 740 (((__RESOLUTION__) == ADC_RESOLUTION_8B) && ((__ADC_VALUE__) <= ((uint32_t)0x00FF))) || \ 741 (((__RESOLUTION__) == ADC_RESOLUTION_6B) && ((__ADC_VALUE__) <= ((uint32_t)0x003F)))) 748 #define ADC_SQR1(_NbrOfConversion_) (((_NbrOfConversion_) - (uint8_t)1) << 20) 756 #define ADC_SMPR1(_SAMPLETIME_, _CHANNELNB_) ((_SAMPLETIME_) << (3 * (((uint32_t)((uint16_t)(_CHANNELNB_))) - 10))) 764 #define ADC_SMPR2(_SAMPLETIME_, _CHANNELNB_) ((_SAMPLETIME_) << (3 * ((uint32_t)((uint16_t)(_CHANNELNB_))))) 772 #define ADC_SQR3_RK(_CHANNELNB_, _RANKNB_) (((uint32_t)((uint16_t)(_CHANNELNB_))) << (5 * ((_RANKNB_) - 1))) 780 #define ADC_SQR2_RK(_CHANNELNB_, _RANKNB_) (((uint32_t)((uint16_t)(_CHANNELNB_))) << (5 * ((_RANKNB_) - 7))) 788 #define ADC_SQR1_RK(_CHANNELNB_, _RANKNB_) (((uint32_t)((uint16_t)(_CHANNELNB_))) << (5 * ((_RANKNB_) - 13))) 795 #define ADC_CR2_CONTINUOUS(_CONTINUOUS_MODE_) ((_CONTINUOUS_MODE_) << 1) 802 #define ADC_CR1_DISCONTINUOUS(_NBR_DISCONTINUOUSCONV_) (((_NBR_DISCONTINUOUSCONV_) - 1) << POSITION_VAL(ADC_CR1_DISCNUM)) 809 #define ADC_CR1_SCANCONV(_SCANCONV_MODE_) ((_SCANCONV_MODE_) << 8) 816 #define ADC_CR2_EOCSelection(_EOCSelection_MODE_) ((_EOCSelection_MODE_) << 10) 823 #define ADC_CR2_DMAContReq(_DMAContReq_MODE_) ((_DMAContReq_MODE_) << 9) 830 #define ADC_GET_RESOLUTION(__HANDLE__) (((__HANDLE__)->Instance->CR1) & ADC_CR1_RES)
void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, ADC_AnalogWDGConfTypeDef *AnalogWDGConfig)
HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc)
uint32_t DiscontinuousConvMode
void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc)
Structure definition of ADC channel for regular group.
uint32_t ExternalTrigConv
HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc)
void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeout)
void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc)
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
HAL_LockTypeDef
HAL Lock structures definition.
Structure definition of ADC and regular group initialization.
HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout)
uint32_t ExternalTrigConvEdge
HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc)
Analog to Digital Converter.
HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc)
void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc)
void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc)
uint32_t NbrOfDiscConversion
ADC Configuration multi-mode structure definition.
uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef *hadc)
ADC handle Structure definition.
uint32_t DMAContinuousRequests
HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length)
DMA handle Structure definition.
This file contains HAL common defines, enumeration, macros and structures definitions.
uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc)
uint32_t HAL_ADC_GetState(ADC_HandleTypeDef *hadc)
uint32_t ContinuousConvMode
HAL_StatusTypeDef
HAL Status structures definition.
HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, ADC_ChannelConfTypeDef *sConfig)
HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc)