Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 9 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | * @author MCD Application Team |
4 | * @author MCD Application Team |
5 | * @brief Header file of ADC LL module. |
5 | * @brief Header file of ADC LL module. |
6 | ****************************************************************************** |
6 | ****************************************************************************** |
7 | * @attention |
7 | * @attention |
8 | * |
8 | * |
9 | * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> |
9 | * <h2><center>© Copyright (c) 2017 STMicroelectronics. |
- | 10 | * All rights reserved.</center></h2> |
|
10 | * |
11 | * |
11 | * Redistribution and use in source and binary forms, with or without modification, |
12 | * This software component is licensed by ST under BSD 3-Clause license, |
12 | * are permitted provided that the following conditions are met: |
13 | * the "License"; You may not use this file except in compliance with the |
13 | * 1. Redistributions of source code must retain the above copyright notice, |
- | |
14 | * this list of conditions and the following disclaimer. |
- | |
15 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
- | |
16 | * this list of conditions and the following disclaimer in the documentation |
- | |
17 | * and/or other materials provided with the distribution. |
14 | * License. You may obtain a copy of the License at: |
18 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
- | |
19 | * may be used to endorse or promote products derived from this software |
15 | * opensource.org/licenses/BSD-3-Clause |
20 | * without specific prior written permission. |
- | |
21 | * |
- | |
22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
- | |
23 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- | |
24 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
- | |
25 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
- | |
26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
- | |
27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
- | |
28 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
- | |
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
- | |
30 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- | |
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- | |
32 | * |
16 | * |
33 | ****************************************************************************** |
17 | ****************************************************************************** |
34 | */ |
18 | */ |
35 | 19 | ||
36 | /* Define to prevent recursive inclusion -------------------------------------*/ |
20 | /* Define to prevent recursive inclusion -------------------------------------*/ |
Line 240... | Line 224... | ||
240 | * @param __REG__ Register basis from which the offset is applied. |
224 | * @param __REG__ Register basis from which the offset is applied. |
241 | * @param __REG_OFFFSET__ Offset to be applied (unit: number of registers). |
225 | * @param __REG_OFFFSET__ Offset to be applied (unit: number of registers). |
242 | * @retval Pointer to register address |
226 | * @retval Pointer to register address |
243 | */ |
227 | */ |
244 | #define __ADC_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__) \ |
228 | #define __ADC_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__) \ |
245 | ((uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFFSET__) << 2U)))) |
229 | ((__IO uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFFSET__) << 2U)))) |
246 | 230 | ||
247 | /** |
231 | /** |
248 | * @} |
232 | * @} |
249 | */ |
233 | */ |
250 | 234 | ||
Line 2148... | Line 2132... | ||
2148 | { |
2132 | { |
2149 | /* Set bits with content of parameter "Channel" with bits position */ |
2133 | /* Set bits with content of parameter "Channel" with bits position */ |
2150 | /* in register and register position depending on parameter "Rank". */ |
2134 | /* in register and register position depending on parameter "Rank". */ |
2151 | /* Parameters "Rank" and "Channel" are used with masks because containing */ |
2135 | /* Parameters "Rank" and "Channel" are used with masks because containing */ |
2152 | /* other bits reserved for other purpose. */ |
2136 | /* other bits reserved for other purpose. */ |
2153 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SQR1, __ADC_MASK_SHIFT(Rank, ADC_REG_SQRX_REGOFFSET_MASK)); |
2137 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SQR1, __ADC_MASK_SHIFT(Rank, ADC_REG_SQRX_REGOFFSET_MASK)); |
2154 | 2138 | ||
2155 | MODIFY_REG(*preg, |
2139 | MODIFY_REG(*preg, |
2156 | ADC_CHANNEL_ID_NUMBER_MASK << (Rank & ADC_REG_RANK_ID_SQRX_MASK), |
2140 | ADC_CHANNEL_ID_NUMBER_MASK << (Rank & ADC_REG_RANK_ID_SQRX_MASK), |
2157 | (Channel & ADC_CHANNEL_ID_NUMBER_MASK) << (Rank & ADC_REG_RANK_ID_SQRX_MASK)); |
2141 | (Channel & ADC_CHANNEL_ID_NUMBER_MASK) << (Rank & ADC_REG_RANK_ID_SQRX_MASK)); |
2158 | } |
2142 | } |
Line 2238... | Line 2222... | ||
2238 | * comparison with internal channel parameter to be done |
2222 | * comparison with internal channel parameter to be done |
2239 | * using helper macro @ref __LL_ADC_CHANNEL_INTERNAL_TO_EXTERNAL(). |
2223 | * using helper macro @ref __LL_ADC_CHANNEL_INTERNAL_TO_EXTERNAL(). |
2240 | */ |
2224 | */ |
2241 | __STATIC_INLINE uint32_t LL_ADC_REG_GetSequencerRanks(ADC_TypeDef *ADCx, uint32_t Rank) |
2225 | __STATIC_INLINE uint32_t LL_ADC_REG_GetSequencerRanks(ADC_TypeDef *ADCx, uint32_t Rank) |
2242 | { |
2226 | { |
2243 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SQR1, __ADC_MASK_SHIFT(Rank, ADC_REG_SQRX_REGOFFSET_MASK)); |
2227 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SQR1, __ADC_MASK_SHIFT(Rank, ADC_REG_SQRX_REGOFFSET_MASK)); |
2244 | 2228 | ||
2245 | return (uint32_t) (READ_BIT(*preg, |
2229 | return (uint32_t) (READ_BIT(*preg, |
2246 | ADC_CHANNEL_ID_NUMBER_MASK << (Rank & ADC_REG_RANK_ID_SQRX_MASK)) |
2230 | ADC_CHANNEL_ID_NUMBER_MASK << (Rank & ADC_REG_RANK_ID_SQRX_MASK)) |
2247 | >> (Rank & ADC_REG_RANK_ID_SQRX_MASK) |
2231 | >> (Rank & ADC_REG_RANK_ID_SQRX_MASK) |
2248 | ); |
2232 | ); |
Line 2734... | Line 2718... | ||
2734 | * @param OffsetLevel Value between Min_Data=0x000 and Max_Data=0xFFF |
2718 | * @param OffsetLevel Value between Min_Data=0x000 and Max_Data=0xFFF |
2735 | * @retval None |
2719 | * @retval None |
2736 | */ |
2720 | */ |
2737 | __STATIC_INLINE void LL_ADC_INJ_SetOffset(ADC_TypeDef *ADCx, uint32_t Rank, uint32_t OffsetLevel) |
2721 | __STATIC_INLINE void LL_ADC_INJ_SetOffset(ADC_TypeDef *ADCx, uint32_t Rank, uint32_t OffsetLevel) |
2738 | { |
2722 | { |
2739 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JOFR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JOFRX_REGOFFSET_MASK)); |
2723 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JOFR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JOFRX_REGOFFSET_MASK)); |
2740 | 2724 | ||
2741 | MODIFY_REG(*preg, |
2725 | MODIFY_REG(*preg, |
2742 | ADC_JOFR1_JOFFSET1, |
2726 | ADC_JOFR1_JOFFSET1, |
2743 | OffsetLevel); |
2727 | OffsetLevel); |
2744 | } |
2728 | } |
Line 2761... | Line 2745... | ||
2761 | * @arg @ref LL_ADC_INJ_RANK_4 |
2745 | * @arg @ref LL_ADC_INJ_RANK_4 |
2762 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
2746 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
2763 | */ |
2747 | */ |
2764 | __STATIC_INLINE uint32_t LL_ADC_INJ_GetOffset(ADC_TypeDef *ADCx, uint32_t Rank) |
2748 | __STATIC_INLINE uint32_t LL_ADC_INJ_GetOffset(ADC_TypeDef *ADCx, uint32_t Rank) |
2765 | { |
2749 | { |
2766 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JOFR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JOFRX_REGOFFSET_MASK)); |
2750 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JOFR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JOFRX_REGOFFSET_MASK)); |
2767 | 2751 | ||
2768 | return (uint32_t)(READ_BIT(*preg, |
2752 | return (uint32_t)(READ_BIT(*preg, |
2769 | ADC_JOFR1_JOFFSET1) |
2753 | ADC_JOFR1_JOFFSET1) |
2770 | ); |
2754 | ); |
2771 | } |
2755 | } |
Line 2854... | Line 2838... | ||
2854 | { |
2838 | { |
2855 | /* Set bits with content of parameter "SamplingTime" with bits position */ |
2839 | /* Set bits with content of parameter "SamplingTime" with bits position */ |
2856 | /* in register and register position depending on parameter "Channel". */ |
2840 | /* in register and register position depending on parameter "Channel". */ |
2857 | /* Parameter "Channel" is used with masks because containing */ |
2841 | /* Parameter "Channel" is used with masks because containing */ |
2858 | /* other bits reserved for other purpose. */ |
2842 | /* other bits reserved for other purpose. */ |
2859 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SMPR1, __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPRX_REGOFFSET_MASK)); |
2843 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SMPR1, __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPRX_REGOFFSET_MASK)); |
2860 | 2844 | ||
2861 | MODIFY_REG(*preg, |
2845 | MODIFY_REG(*preg, |
2862 | ADC_SMPR2_SMP0 << __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK), |
2846 | ADC_SMPR2_SMP0 << __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK), |
2863 | SamplingTime << __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK)); |
2847 | SamplingTime << __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK)); |
2864 | } |
2848 | } |
Line 2923... | Line 2907... | ||
2923 | * @arg @ref LL_ADC_SAMPLINGTIME_71CYCLES_5 |
2907 | * @arg @ref LL_ADC_SAMPLINGTIME_71CYCLES_5 |
2924 | * @arg @ref LL_ADC_SAMPLINGTIME_239CYCLES_5 |
2908 | * @arg @ref LL_ADC_SAMPLINGTIME_239CYCLES_5 |
2925 | */ |
2909 | */ |
2926 | __STATIC_INLINE uint32_t LL_ADC_GetChannelSamplingTime(ADC_TypeDef *ADCx, uint32_t Channel) |
2910 | __STATIC_INLINE uint32_t LL_ADC_GetChannelSamplingTime(ADC_TypeDef *ADCx, uint32_t Channel) |
2927 | { |
2911 | { |
2928 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SMPR1, __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPRX_REGOFFSET_MASK)); |
2912 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->SMPR1, __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPRX_REGOFFSET_MASK)); |
2929 | 2913 | ||
2930 | return (uint32_t)(READ_BIT(*preg, |
2914 | return (uint32_t)(READ_BIT(*preg, |
2931 | ADC_SMPR2_SMP0 << __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK)) |
2915 | ADC_SMPR2_SMP0 << __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK)) |
2932 | >> __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK) |
2916 | >> __ADC_MASK_SHIFT(Channel, ADC_CHANNEL_SMPx_BITOFFSET_MASK) |
2933 | ); |
2917 | ); |
Line 3147... | Line 3131... | ||
3147 | * @param AWDThresholdValue: Value between Min_Data=0x000 and Max_Data=0xFFF |
3131 | * @param AWDThresholdValue: Value between Min_Data=0x000 and Max_Data=0xFFF |
3148 | * @retval None |
3132 | * @retval None |
3149 | */ |
3133 | */ |
3150 | __STATIC_INLINE void LL_ADC_SetAnalogWDThresholds(ADC_TypeDef *ADCx, uint32_t AWDThresholdsHighLow, uint32_t AWDThresholdValue) |
3134 | __STATIC_INLINE void LL_ADC_SetAnalogWDThresholds(ADC_TypeDef *ADCx, uint32_t AWDThresholdsHighLow, uint32_t AWDThresholdValue) |
3151 | { |
3135 | { |
3152 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->HTR, AWDThresholdsHighLow); |
3136 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->HTR, AWDThresholdsHighLow); |
3153 | 3137 | ||
3154 | MODIFY_REG(*preg, |
3138 | MODIFY_REG(*preg, |
3155 | ADC_HTR_HT, |
3139 | ADC_HTR_HT, |
3156 | AWDThresholdValue); |
3140 | AWDThresholdValue); |
3157 | } |
3141 | } |
Line 3170... | Line 3154... | ||
3170 | * @arg @ref LL_ADC_AWD_THRESHOLD_LOW |
3154 | * @arg @ref LL_ADC_AWD_THRESHOLD_LOW |
3171 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
3155 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
3172 | */ |
3156 | */ |
3173 | __STATIC_INLINE uint32_t LL_ADC_GetAnalogWDThresholds(ADC_TypeDef *ADCx, uint32_t AWDThresholdsHighLow) |
3157 | __STATIC_INLINE uint32_t LL_ADC_GetAnalogWDThresholds(ADC_TypeDef *ADCx, uint32_t AWDThresholdsHighLow) |
3174 | { |
3158 | { |
3175 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->HTR, AWDThresholdsHighLow); |
3159 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->HTR, AWDThresholdsHighLow); |
3176 | 3160 | ||
3177 | return (uint32_t)(READ_BIT(*preg, ADC_HTR_HT)); |
3161 | return (uint32_t)(READ_BIT(*preg, ADC_HTR_HT)); |
3178 | } |
3162 | } |
3179 | 3163 | ||
3180 | /** |
3164 | /** |
Line 3377... | Line 3361... | ||
3377 | * @param ADCx ADC instance |
3361 | * @param ADCx ADC instance |
3378 | * @retval None |
3362 | * @retval None |
3379 | */ |
3363 | */ |
3380 | __STATIC_INLINE void LL_ADC_REG_StopConversionExtTrig(ADC_TypeDef *ADCx) |
3364 | __STATIC_INLINE void LL_ADC_REG_StopConversionExtTrig(ADC_TypeDef *ADCx) |
3381 | { |
3365 | { |
3382 | CLEAR_BIT(ADCx->CR2, ADC_CR2_EXTSEL); |
3366 | CLEAR_BIT(ADCx->CR2, ADC_CR2_EXTTRIG); |
3383 | } |
3367 | } |
3384 | 3368 | ||
3385 | /** |
3369 | /** |
3386 | * @brief Get ADC group regular conversion data, range fit for |
3370 | * @brief Get ADC group regular conversion data, range fit for |
3387 | * all ADC configurations: all ADC resolutions and |
3371 | * all ADC configurations: all ADC resolutions and |
Line 3503... | Line 3487... | ||
3503 | * @param ADCx ADC instance |
3487 | * @param ADCx ADC instance |
3504 | * @retval None |
3488 | * @retval None |
3505 | */ |
3489 | */ |
3506 | __STATIC_INLINE void LL_ADC_INJ_StopConversionExtTrig(ADC_TypeDef *ADCx) |
3490 | __STATIC_INLINE void LL_ADC_INJ_StopConversionExtTrig(ADC_TypeDef *ADCx) |
3507 | { |
3491 | { |
3508 | CLEAR_BIT(ADCx->CR2, ADC_CR2_JEXTSEL); |
3492 | CLEAR_BIT(ADCx->CR2, ADC_CR2_JEXTTRIG); |
3509 | } |
3493 | } |
3510 | 3494 | ||
3511 | /** |
3495 | /** |
3512 | * @brief Get ADC group regular conversion data, range fit for |
3496 | * @brief Get ADC group regular conversion data, range fit for |
3513 | * all ADC configurations: all ADC resolutions and |
3497 | * all ADC configurations: all ADC resolutions and |
Line 3525... | Line 3509... | ||
3525 | * @arg @ref LL_ADC_INJ_RANK_4 |
3509 | * @arg @ref LL_ADC_INJ_RANK_4 |
3526 | * @retval Value between Min_Data=0x00000000 and Max_Data=0xFFFFFFFF |
3510 | * @retval Value between Min_Data=0x00000000 and Max_Data=0xFFFFFFFF |
3527 | */ |
3511 | */ |
3528 | __STATIC_INLINE uint32_t LL_ADC_INJ_ReadConversionData32(ADC_TypeDef *ADCx, uint32_t Rank) |
3512 | __STATIC_INLINE uint32_t LL_ADC_INJ_ReadConversionData32(ADC_TypeDef *ADCx, uint32_t Rank) |
3529 | { |
3513 | { |
3530 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JDR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JDRX_REGOFFSET_MASK)); |
3514 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JDR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JDRX_REGOFFSET_MASK)); |
3531 | 3515 | ||
3532 | return (uint32_t)(READ_BIT(*preg, |
3516 | return (uint32_t)(READ_BIT(*preg, |
3533 | ADC_JDR1_JDATA) |
3517 | ADC_JDR1_JDATA) |
3534 | ); |
3518 | ); |
3535 | } |
3519 | } |
Line 3552... | Line 3536... | ||
3552 | * @arg @ref LL_ADC_INJ_RANK_4 |
3536 | * @arg @ref LL_ADC_INJ_RANK_4 |
3553 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
3537 | * @retval Value between Min_Data=0x000 and Max_Data=0xFFF |
3554 | */ |
3538 | */ |
3555 | __STATIC_INLINE uint16_t LL_ADC_INJ_ReadConversionData12(ADC_TypeDef *ADCx, uint32_t Rank) |
3539 | __STATIC_INLINE uint16_t LL_ADC_INJ_ReadConversionData12(ADC_TypeDef *ADCx, uint32_t Rank) |
3556 | { |
3540 | { |
3557 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JDR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JDRX_REGOFFSET_MASK)); |
3541 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->JDR1, __ADC_MASK_SHIFT(Rank, ADC_INJ_JDRX_REGOFFSET_MASK)); |
3558 | 3542 | ||
3559 | return (uint16_t)(READ_BIT(*preg, |
3543 | return (uint16_t)(READ_BIT(*preg, |
3560 | ADC_JDR1_JDATA) |
3544 | ADC_JDR1_JDATA) |
3561 | ); |
3545 | ); |
3562 | } |
3546 | } |
Line 3682... | Line 3666... | ||
3682 | /* Note: on this STM32 serie, there is no flag ADC group regular */ |
3666 | /* Note: on this STM32 serie, there is no flag ADC group regular */ |
3683 | /* end of unitary conversion. */ |
3667 | /* end of unitary conversion. */ |
3684 | /* Flag noted as "EOC" is corresponding to flag "EOS" */ |
3668 | /* Flag noted as "EOC" is corresponding to flag "EOS" */ |
3685 | /* in other STM32 families). */ |
3669 | /* in other STM32 families). */ |
3686 | 3670 | ||
3687 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCxy_COMMON->SR, 1U); |
3671 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCxy_COMMON->SR, 1U); |
3688 | 3672 | ||
3689 | return (READ_BIT(*preg, LL_ADC_FLAG_EOS_SLV) == (LL_ADC_FLAG_EOS_SLV)); |
3673 | return (READ_BIT(*preg, LL_ADC_FLAG_EOS_SLV) == (LL_ADC_FLAG_EOS_SLV)); |
3690 | } |
3674 | } |
3691 | 3675 | ||
3692 | 3676 | ||
Line 3718... | Line 3702... | ||
3718 | /* Note: on this STM32 serie, there is no flag ADC group injected */ |
3702 | /* Note: on this STM32 serie, there is no flag ADC group injected */ |
3719 | /* end of unitary conversion. */ |
3703 | /* end of unitary conversion. */ |
3720 | /* Flag noted as "JEOC" is corresponding to flag "JEOS" */ |
3704 | /* Flag noted as "JEOC" is corresponding to flag "JEOS" */ |
3721 | /* in other STM32 families). */ |
3705 | /* in other STM32 families). */ |
3722 | 3706 | ||
3723 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCxy_COMMON->SR, 1U); |
3707 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCxy_COMMON->SR, 1U); |
3724 | 3708 | ||
3725 | return (READ_BIT(*preg, LL_ADC_FLAG_JEOS_SLV) == (LL_ADC_FLAG_JEOS_SLV)); |
3709 | return (READ_BIT(*preg, LL_ADC_FLAG_JEOS_SLV) == (LL_ADC_FLAG_JEOS_SLV)); |
3726 | } |
3710 | } |
3727 | 3711 | ||
3728 | /** |
3712 | /** |
Line 3744... | Line 3728... | ||
3744 | * (can be set directly from CMSIS definition or by using helper macro @ref __LL_ADC_COMMON_INSTANCE() ) |
3728 | * (can be set directly from CMSIS definition or by using helper macro @ref __LL_ADC_COMMON_INSTANCE() ) |
3745 | * @retval State of bit (1 or 0). |
3729 | * @retval State of bit (1 or 0). |
3746 | */ |
3730 | */ |
3747 | __STATIC_INLINE uint32_t LL_ADC_IsActiveFlag_SLV_AWD1(ADC_Common_TypeDef *ADCxy_COMMON) |
3731 | __STATIC_INLINE uint32_t LL_ADC_IsActiveFlag_SLV_AWD1(ADC_Common_TypeDef *ADCxy_COMMON) |
3748 | { |
3732 | { |
3749 | register uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCxy_COMMON->SR, 1U); |
3733 | register __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCxy_COMMON->SR, 1U); |
3750 | 3734 | ||
3751 | return (READ_BIT(*preg, LL_ADC_FLAG_AWD1) == (LL_ADC_FLAG_AWD1)); |
3735 | return (READ_BIT(*preg, LL_ADC_FLAG_AWD1) == (LL_ADC_FLAG_AWD1)); |
3752 | } |
3736 | } |
3753 | 3737 | ||
3754 | #endif /* ADC_MULTIMODE_SUPPORT */ |
3738 | #endif /* ADC_MULTIMODE_SUPPORT */ |