ARM GAS /tmp/ccNvkH5l.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32f4xx_hal_adc.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c" 20 .section .text.ADC_Init,"ax",%progbits 21 .align 1 22 .syntax unified 23 .thumb 24 .thumb_func 26 ADC_Init: 27 .LVL0: 28 .LFB261: 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @file stm32f4xx_hal_adc.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief This file provides firmware functions to manage the following 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * functionalities of the Analog to Digital Converter (ADC) peripheral: 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + Initialization and de-initialization functions 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + Peripheral Control functions 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + Peripheral State functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ****************************************************************************** 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @attention 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * Copyright (c) 2017 STMicroelectronics. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * All rights reserved. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This software is licensed under terms that can be found in the LICENSE file 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the root directory of this software component. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ****************************************************************************** 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### ADC Peripheral features ##### 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Interrupt generation at the end of conversion, end of injected conversion, 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and in case of analog watchdog or overrun events 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Single and continuous conversion modes. ARM GAS /tmp/ccNvkH5l.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Scan mode for automatic conversion of channel 0 to channel x. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Data alignment with in-built data coherency. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Channel-wise programmable sampling time. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) External trigger option with configurable polarity for both regular and 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** injected conversion. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Dual/Triple mode (on devices with 2 ADCs or more). 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable DMA data storage in Dual/Triple ADC mode. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable delay between conversions in Dual/Triple interleaved mode. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC conversion type (refer to the datasheets). 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC supply requirements: 2.4 V to 3.6 V at full speed and down to 1.8 V at 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** slower speed. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC input range: VREF(minus) = VIN = VREF(plus). 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) DMA request generation during regular channel conversion. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### How to use this driver ##### 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#)Initialize the ADC low level resources by implementing the HAL_ADC_MspInit(): 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) Enable the ADC interface clock using __HAL_RCC_ADC_CLK_ENABLE() 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) ADC pins configuration 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the clock for the ADC GPIOs using the following function: 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_RCC_GPIOx_CLK_ENABLE() 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure these ADC pins in analog mode using HAL_GPIO_Init() 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using interrupts (e.g. HAL_ADC_Start_IT()) 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the ADC interrupt priority using HAL_NVIC_SetPriority() 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the ADC IRQ handler using HAL_NVIC_EnableIRQ() 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) In ADC IRQ handler, call HAL_ADC_IRQHandler() 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using DMA to control data transfer (e.g. HAL_ADC_Start_DMA()) 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the DMAx interface clock using __HAL_RCC_DMAx_CLK_ENABLE() 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure and enable two DMA streams stream for managing data 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer from peripheral to memory (output stream) 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Associate the initialized DMA handle to the CRYP DMA handle 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using __HAL_LINKDMA() 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** interrupt on the two DMA Streams. The output stream should have higher 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** priority than the input stream. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Configuration of ADC, groups regular/injected, channels parameters *** 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...) 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...) 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_Init(). 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number, 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into regular group) 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_ConfigChannel(). 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the injected group parameters (conversion trigger, 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** sequencer, ..., of injected group) 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the channels for injected group parameters (channel number, 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into injected group) 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADCEx_InjectedConfigChannel(). 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** monitored, thresholds, ...) using function HAL_ADC_AnalogWDGConfig(). ARM GAS /tmp/ccNvkH5l.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, for devices with several ADC instances: configure the 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** multimode parameters using function HAL_ADCEx_MultiModeConfigChannel(). 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Execution of ADC conversions *** 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption, 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer by DMA. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Polling mode IO operation *** 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ================================= 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start() 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Wait for end of conversion using HAL_ADC_PollForConversion(), at this stage 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** user can specify the value of timeout according to his end application 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) To read the ADC converted values, use the HAL_ADC_GetValue() function. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop() 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Interrupt mode IO operation *** 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =================================== 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start_IT() 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Use HAL_ADC_IRQHandler() called under ADC_IRQHandler() Interrupt subroutine 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At ADC end of conversion HAL_ADC_ConvCpltCallback() function is executed and user can 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ConvCpltCallback 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) In case of ADC Error, HAL_ADC_ErrorCallback() function is executed and user can 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ErrorCallback 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop_IT() 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** DMA mode IO operation *** 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================== 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start_DMA(), at this stage the user specify the l 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** of data to be transferred at each end of conversion 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At The end of data transfer by HAL_ADC_ConvCpltCallback() function is executed and user 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ConvCpltCallback 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) In case of transfer Error, HAL_ADC_ErrorCallback() function is executed and user can 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ErrorCallback 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop_DMA() 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** ADC HAL driver macros list *** 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================= 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Below the list of most used macros in ADC HAL driver. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE : Enable the ADC peripheral 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE : Disable the ADC peripheral 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE_IT: Enable the ADC end of conversion interrupt 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE_IT: Disable the ADC end of conversion interrupt 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_GET_IT_SOURCE: Check if the specified ADC interrupt source is enabled or disabl 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_CLEAR_FLAG: Clear the ADC's pending flags 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_GET_FLAG: Get the selected ADC's flag status 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ADC_GET_RESOLUTION: Return resolution bits in CR1 register 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (@) You can refer to the ADC HAL driver header file for more useful macros ARM GAS /tmp/ccNvkH5l.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Deinitialization of ADC *** 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Disable the ADC interface 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Hard reset of ADC peripherals 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using macro __HAL_RCC_ADC_FORCE_RESET(), __HAL_RCC_ADC_RELEASE_RESET(). 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock disable using the equivalent macro/functions as configuration step. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Example: 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** other device clock parameters configuration: 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_GetOscConfig(&RCC_OscInitStructure); 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI; 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSIState = RCC_HSI_OFF; (if not used for system clock) 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure); 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC pins configuration 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs using macro __HAL_RCC_GPIOx_CLK_DISABLE() 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions: 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for ADC using function HAL_NVIC_DisableIRQ(ADCx_IRQn) 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of DMA: 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Deinitialize the DMA using function HAL_DMA_DeInit(). 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for DMA using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn) 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Callback registration *** 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1, 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use Functions HAL_ADC_RegisterCallback() 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** to register an interrupt callback. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Function HAL_ADC_RegisterCallback() allows to register following callbacks: 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and a pointer to the user callback function. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use function HAL_ADC_UnRegisterCallback to reset a callback to the default 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** weak function. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle, ARM GAS /tmp/ccNvkH5l.s page 5 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the Callback ID. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function allows to reset following callbacks: 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** By default, after the HAL_ADC_Init() and when the state is HAL_ADC_STATE_RESET 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** all callbacks are set to the corresponding weak functions: 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** examples HAL_ADC_ConvCpltCallback(), HAL_ADC_ErrorCallback(). 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** reset to the legacy weak functions in the HAL_ADC_Init()/ HAL_ADC_DeInit() only when 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** these callbacks are null (not registered beforehand). 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** If MspInit or MspDeInit are not null, the HAL_ADC_Init()/ HAL_ADC_DeInit() 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Callbacks can be registered/unregistered in HAL_ADC_STATE_READY state only. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** in HAL_ADC_STATE_READY or HAL_ADC_STATE_RESET state, 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using HAL_ADC_RegisterCallback() before calling HAL_ADC_DeInit() 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** or HAL_ADC_Init() function. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** are set to the corresponding weak functions. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Includes ------------------------------------------------------------------*/ 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #include "stm32f4xx_hal.h" 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup STM32F4xx_HAL_Driver 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC ADC 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief ADC driver modules 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 6 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef HAL_ADC_MODULE_ENABLED 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private typedef -----------------------------------------------------------*/ 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private define ------------------------------------------------------------*/ 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private macro -------------------------------------------------------------*/ 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private variables ---------------------------------------------------------*/ 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup ADC_Private_Functions 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private function prototypes -----------------------------------------------*/ 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_Init(ADC_HandleTypeDef *hadc); 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma); 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma); 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma); 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Exported functions --------------------------------------------------------*/ 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions ADC Exported Functions 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group1 Initialization and de-initialization functions 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initialization and Configuration functions 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Initialization and de-initialization functions ##### 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to: 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Initialize and configure the ADC. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) De-initialize the ADC. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADCx peripheral according to the specified parameters 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the ADC_InitStruct and initializes the ADC MSP. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note This function is used to configure the global features of the ADC ( 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ClockPrescaler, Resolution, Data Alignment and number of conversion), however, 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the rest of the configuration parameters are specific to the regular 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * channels group (scan mode activation, continuous mode activation, 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * External trigger source and edge, DMA continuous request after the 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * last transfer and End of conversion selection). 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc) 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC handle */ ARM GAS /tmp/ccNvkH5l.s page 7 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc == NULL) 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ScanConvMode)); 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG(hadc->Init.ExternalTrigConv)); 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion)); 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection)); 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->State == HAL_ADC_STATE_RESET) 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the ADC Callback settings */ 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->MspInitCallback == NULL) 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the low level hardware */ 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback(hadc); 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the low level hardware */ 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_MspInit(hadc); 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Initialize ADC error code */ 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Allocate lock resource and initialize it */ 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Lock = HAL_UNLOCKED; 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */ 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* correctly completed. */ 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, ARM GAS /tmp/ccNvkH5l.s page 8 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL); 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC parameters */ 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Init(hadc); 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to none */ 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the ADC state */ 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp_hal_status = HAL_ERROR; 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Release Lock */ 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status; 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Deinitializes the ADCx peripheral registers to their default reset values. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc) 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC handle */ 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc == NULL) 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */ 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* correctly completed. */ 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) ARM GAS /tmp/ccNvkH5l.s page 9 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->MspDeInitCallback == NULL) 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DeInit the low level hardware: RCC clock, NVIC */ 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback(hadc); 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DeInit the low level hardware: RCC clock, NVIC */ 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_MspDeInit(hadc); 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to none */ 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_RESET; 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status; 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Register a User ADC Callback 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * To be used instead of the weak predefined callback 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param CallbackID ID of the callback to be registered 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values: 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion DMA half-transfer call 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param pCallback pointer to the Callback function 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (pCallback == NULL) 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) ARM GAS /tmp/ccNvkH5l.s page 10 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = pCallback; 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = pCallback; 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = pCallback; 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = pCallback; 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID : 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = pCallback; 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ ARM GAS /tmp/ccNvkH5l.s page 11 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return status; 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Unregister a ADC Callback 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ADC callback is redirected to the weak predefined callback 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param CallbackID ID of the callback to be unregistered 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values: 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion DMA half-transfer call 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID : ARM GAS /tmp/ccNvkH5l.s page 12 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return status; 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADC MSP. ARM GAS /tmp/ccNvkH5l.s page 13 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_MspInit could be implemented in the user file 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DeInitializes the ADC MSP. 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc) 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_MspDeInit could be implemented in the user file 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group2 IO operation functions 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief IO operation functions 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### IO operation functions ##### 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to: 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel. 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel. 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel and enable interrupt. 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel and disable interrupt. 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel and enable DMA transfer. 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel and disable DMA transfer. 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Handle ADC interrupt request. 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables ADC and starts conversion of the regular channels. 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status ARM GAS /tmp/ccNvkH5l.s page 14 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc) 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */ 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */ 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */ 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc); 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */ 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */ 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */ 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */ 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */ 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */ 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */ 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); ARM GAS /tmp/ccNvkH5l.s page 15 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */ 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */ 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 16 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables ADC and stop conversion of regular channels. 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Caution: This function will stop also injected channels. 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status. 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc) 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Poll for regular conversion complete 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note ADC conversion flags EOS (end of sequence) and EOC (end of 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * conversion) are cleared by this function. 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note This function cannot be used in a particular setup: ADC configured 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in DMA mode and polling for end of each conversion (ADC init 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SINGLE_CONV). 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * In this case, DMA resets the flag EOC and polling cannot be 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * performed on each conversion. Nevertheless, polling can still 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * be performed on the complete sequence. 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout) 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 17 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Verification that ADC configuration is compliant with polling for */ 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* each conversion: */ 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Particular case is ADC configured in DMA mode and ADC sequencer with */ 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* several ranks and polling for end of each conversion. */ 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For code simplicity sake, this particular case is generalized to */ 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* ADC configured in DMA mode and polling for end of each conversion. */ 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) && 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA)) 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Get tick */ 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tickstart = HAL_GetTick(); 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag */ 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */ 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (Timeout != HAL_MAX_DELAY) 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to timeout */ 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_TIMEOUT; 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag */ 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine */ 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */ 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */ 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */ 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (ADC_IS_SOFTWARE_START_REGULAR(hadc) && ARM GAS /tmp/ccNvkH5l.s page 18 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */ 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Poll for conversion event 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param EventType the ADC event type. 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values: 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg ADC_AWD_EVENT: ADC Analog watch Dog event. 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg ADC_OVR_EVENT: ADC Overrun event. 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeou 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType)); 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Get tick */ 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tickstart = HAL_GetTick(); 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check selected event flag */ 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (!(__HAL_ADC_GET_FLAG(hadc, EventType))) 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check for the Timeout */ 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (Timeout != HAL_MAX_DELAY) 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (!(__HAL_ADC_GET_FLAG(hadc, EventType))) 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to timeout */ 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_TIMEOUT; ARM GAS /tmp/ccNvkH5l.s page 19 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Analog watchdog (level out of window) event */ 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (EventType == ADC_AWD_EVENT) 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC analog watchdog flag */ 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Overrun event */ 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */ 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC overrun flag */ 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */ 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables the interrupt and starts ADC conversion of regular channels. 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status. 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc) 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */ 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */ 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */ 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc); 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 20 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */ 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */ 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */ 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */ 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */ 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */ 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */ 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable end of conversion interrupt for regular group */ 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_OVR)); 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */ 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) ARM GAS /tmp/ccNvkH5l.s page 21 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */ 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables the interrupt and stop ADC conversion of regular channels. 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Caution: This function will stop also injected channels. 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status. 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc) 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ ARM GAS /tmp/ccNvkH5l.s page 22 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of conversion interrupt for regular group */ 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_OVR)); 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Handles ADC interrupt request 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp1 = 0U, tmp2 = 0U; 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp_sr = hadc->Instance->SR; 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp_cr1 = hadc->Instance->CR1; 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion)); 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection)); 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_EOC; 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_EOC; 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for regular channels */ 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (tmp1 && tmp2) 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */ 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */ ARM GAS /tmp/ccNvkH5l.s page 23 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */ 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */ 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* HAL_ADC_Start_IT(), but is not disabled here because can be used */ 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by overrun IRQ process below. */ 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback(hadc); 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc); 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag */ 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_JEOC; 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_JEOC; 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for injected channels */ 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (tmp1 && tmp2) 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group injected */ 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, scan sequence on going or by automatic injected */ 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* conversion from group regular (same conditions as group regular */ 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption disabling above). */ 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (ADC_IS_SOFTWARE_START_INJECTED(hadc) && 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS)) && 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE)))) 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group injected */ 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); ARM GAS /tmp/ccNvkH5l.s page 24 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback(hadc); 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADCEx_InjectedConvCpltCallback(hadc); 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear injected group conversion flag */ 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_JSTRT | ADC_FLAG_JEOC)); 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_AWD; 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_AWD; 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Analog watchdog flag */ 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (tmp1 && tmp2) 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_AWD)) 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Level out of window callback */ 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback(hadc); 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_LevelOutOfWindowCallback(hadc); 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the ADC analog watchdog flag */ 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_OVR; 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_OVR; 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Overrun flag */ 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (tmp1 && tmp2) 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, ADC overrun can be set through other parameters */ 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* refer to description of parameter "EOCSelection" for more */ 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* details. */ 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */ 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC overrun flag */ ARM GAS /tmp/ccNvkH5l.s page 25 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Error callback */ 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc); 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the Overrun flag */ 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables ADC DMA request after last transfer (Single-ADC mode) and enables ADC periphera 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param pData The destination Buffer address. 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Length The length of data to be transferred from ADC peripheral to memory. 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length) 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */ 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */ 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */ 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc); 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */ 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC DMA Mode */ 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - disable the DMA Mode if it is already enabled */ 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance->CR2 & ADC_CR2_DMA) == ADC_CR2_DMA) 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->Instance->CR2, ADC_CR2_DMA); 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 26 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */ 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */ 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */ 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */ 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */ 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */ 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA transfer complete callback */ 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA half transfer complete callback */ 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA error callback */ 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */ 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* start (in case of SW start): */ 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 27 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable ADC overrun interrupt */ 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable ADC DMA mode */ 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_DMA; 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start the DMA channel */ 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pD 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */ 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */ 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status; 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables ADC DMA (Single-ADC mode) and disables ADC peripheral 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) ARM GAS /tmp/ccNvkH5l.s page 28 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the selected ADC DMA mode */ 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~ADC_CR2_DMA; 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the DMA channel (in case of DMA in circular mode or stop while */ 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DMA transfer is on going) */ 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if DMA channel effectively disabled */ 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (tmp_hal_status != HAL_OK) 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC overrun interrupt */ 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status; 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Gets the converted value from data register of regular channel. 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval Converted value 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef *hadc) 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { ARM GAS /tmp/ccNvkH5l.s page 29 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return the selected ADC converted value */ 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->Instance->DR; 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Regular conversion complete callback in non blocking mode 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ConvCpltCallback could be implemented in the user file 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Regular conversion half DMA transfer callback in non blocking mode 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ConvHalfCpltCallback could be implemented in the user file 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Analog watchdog callback in non blocking mode 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_LevelOoutOfWindowCallback could be implemented in the user file 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Error ADC callback. 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note In case of error due to overrun when using ADC with DMA transfer 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * (HAL ADC handle parameter "ErrorCode" to state "HAL_ADC_ERROR_OVR"): 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * - Reinitialize the DMA using function "HAL_ADC_Stop_DMA()". 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * - If needed, restart a new ADC conversion using function 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * "HAL_ADC_Start_DMA()" 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * (this function is also clearing overrun flag) ARM GAS /tmp/ccNvkH5l.s page 30 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ErrorCallback could be implemented in the user file 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Peripheral Control functions 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Peripheral Control functions ##### 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to: 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure regular channels. 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure injected channels. 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure multimode. 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure the analog watch dog. 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Configures for the selected ADC regular channel its corresponding 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * rank in the sequencer and its sample time. 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param sConfig ADC configuration structure. 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, ADC_ChannelConfTypeDef *sConfig) 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(sConfig->Channel)); 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_RANK(sConfig->Rank)); 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime)); 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC_Channel_10 ... ADC_Channel_18 is selected */ 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (sConfig->Channel > ADC_CHANNEL_9) ARM GAS /tmp/ccNvkH5l.s page 31 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old sample time */ 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfig->Channel); 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the new sample time */ 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel); 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else /* ADC_Channel include in ADC_Channel_[0..9] */ 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old sample time */ 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfig->Channel); 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the new sample time */ 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR2 |= ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel); 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 1 to 6 */ 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (sConfig->Rank < 7U) 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */ 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR3 &= ~ADC_SQR3_RK(ADC_SQR3_SQ1, sConfig->Rank); 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */ 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR3 |= ADC_SQR3_RK(sConfig->Channel, sConfig->Rank); 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 7 to 12 */ 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (sConfig->Rank < 13U) 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */ 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR2 &= ~ADC_SQR2_RK(ADC_SQR2_SQ7, sConfig->Rank); 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */ 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR2 |= ADC_SQR2_RK(sConfig->Channel, sConfig->Rank); 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 13 to 16 */ 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */ 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 &= ~ADC_SQR1_RK(ADC_SQR1_SQ13, sConfig->Rank); 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */ 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 |= ADC_SQR1_RK(sConfig->Channel, sConfig->Rank); 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC1 Channel_18 is selected for VBAT Channel ennable VBATE */ 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_CHANNEL_VBAT)) 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the TEMPSENSOR channel in case of using board with multiplixed ADC_CHANNEL_VBAT & AD 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((uint16_t)ADC_CHANNEL_TEMPSENSOR == (uint16_t)ADC_CHANNEL_VBAT) 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~ADC_CCR_TSVREFE; 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 32 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the VBAT channel*/ 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= ADC_CCR_VBATE; 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC1 Channel_16 or Channel_18 is selected for Temperature sensor or 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Channel_17 is selected for VREFINT enable TSVREFE */ 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && ((sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) || (sConfig->Channe 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the VBAT channel in case of using board with multiplixed ADC_CHANNEL_VBAT & ADC_CHAN 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((uint16_t)ADC_CHANNEL_TEMPSENSOR == (uint16_t)ADC_CHANNEL_VBAT) 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~ADC_CCR_VBATE; 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Temperature sensor and VREFINT channel*/ 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= ADC_CCR_TSVREFE; 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for temperature sensor stabilization time */ 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000U)); 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Configures the analog watchdog. 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Analog watchdog thresholds can be modified while ADC conversion 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * is on going. 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * In this case, some constraints must be taken into account: 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * The programmed threshold values are effective from the next 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ADC EOC (end of unitary conversion). 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * Considering that registers write delay may happen due to 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * bus activity, this might cause an uncertainty on the 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * effective timing of the new programmed threshold values. 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param AnalogWDGConfig pointer to an ADC_AnalogWDGConfTypeDef structure 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * that contains the configuration information of ADC analog watchdog. 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, ADC_AnalogWDGConfTypeDef *Analog 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp = 0U; 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_FULL_ASSERT */ 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 33 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ANALOG_WATCHDOG(AnalogWDGConfig->WatchdogMode)); 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel)); 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode)); 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp = ADC_GET_RESOLUTION(hadc); 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RANGE(tmp, AnalogWDGConfig->HighThreshold)); 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RANGE(tmp, AnalogWDGConfig->LowThreshold)); 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_FULL_ASSERT */ 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (AnalogWDGConfig->ITMode == ENABLE) 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC Analog watchdog interrupt */ 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD); 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the ADC Analog watchdog interrupt */ 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD); 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear AWDEN, JAWDEN and AWDSGL bits */ 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_AWDSGL | ADC_CR1_JAWDEN | ADC_CR1_AWDEN); 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the analog watchdog enable mode */ 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= AnalogWDGConfig->WatchdogMode; 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the high threshold */ 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->HTR = AnalogWDGConfig->HighThreshold; 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the low threshold */ 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->LTR = AnalogWDGConfig->LowThreshold; 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the Analog watchdog channel select bits */ 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~ADC_CR1_AWDCH; 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the Analog watchdog channel */ 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= (uint32_t)((uint16_t)(AnalogWDGConfig->Channel)); 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group4 ADC Peripheral State functions 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief ADC Peripheral State functions 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ARM GAS /tmp/ccNvkH5l.s page 34 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Peripheral State and errors functions ##### 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This subsection provides functions allowing to 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Check the ADC state 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Check the ADC Error 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief return the ADC state 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL state 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetState(ADC_HandleTypeDef *hadc) 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */ 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->State; 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Return the ADC error code 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval ADC Error Code 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc) 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->ErrorCode; 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup ADC_Private_Functions 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADCx peripheral according to the specified parameters 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the ADC_InitStruct without initializing the ADC MSP. 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_Init(ADC_HandleTypeDef *hadc) 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 29 .loc 1 1907 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccNvkH5l.s page 35 33 @ link register save eliminated. 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 34 .loc 1 1908 3 view .LVU1 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC parameters */ 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 35 .loc 1 1914 3 view .LVU2 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the ADC clock prescaler */ 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~(ADC_CCR_ADCPRE); 36 .loc 1 1917 3 view .LVU3 37 .loc 1 1917 16 is_stmt 0 view .LVU4 38 0000 4A4B ldr r3, .L6 39 0002 5A68 ldr r2, [r3, #4] 40 .loc 1 1917 22 view .LVU5 41 0004 22F44032 bic r2, r2, #196608 42 0008 5A60 str r2, [r3, #4] 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= hadc->Init.ClockPrescaler; 43 .loc 1 1918 3 is_stmt 1 view .LVU6 44 .loc 1 1918 16 is_stmt 0 view .LVU7 45 000a 5A68 ldr r2, [r3, #4] 46 .loc 1 1918 36 view .LVU8 47 000c 4168 ldr r1, [r0, #4] 48 .loc 1 1918 22 view .LVU9 49 000e 0A43 orrs r2, r2, r1 50 0010 5A60 str r2, [r3, #4] 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC scan mode */ 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_SCAN); 51 .loc 1 1921 3 is_stmt 1 view .LVU10 52 .loc 1 1921 7 is_stmt 0 view .LVU11 53 0012 0268 ldr r2, [r0] 54 .loc 1 1921 17 view .LVU12 55 0014 5368 ldr r3, [r2, #4] 56 .loc 1 1921 23 view .LVU13 57 0016 23F48073 bic r3, r3, #256 58 001a 5360 str r3, [r2, #4] 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= ADC_CR1_SCANCONV(hadc->Init.ScanConvMode); 59 .loc 1 1922 3 is_stmt 1 view .LVU14 60 .loc 1 1922 7 is_stmt 0 view .LVU15 61 001c 0268 ldr r2, [r0] 62 .loc 1 1922 17 view .LVU16 63 001e 5368 ldr r3, [r2, #4] 64 .loc 1 1922 27 view .LVU17 65 0020 0169 ldr r1, [r0, #16] 66 .loc 1 1922 23 view .LVU18 67 0022 43EA0123 orr r3, r3, r1, lsl #8 68 0026 5360 str r3, [r2, #4] 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC resolution */ 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_RES); 69 .loc 1 1925 3 is_stmt 1 view .LVU19 70 .loc 1 1925 7 is_stmt 0 view .LVU20 71 0028 0268 ldr r2, [r0] ARM GAS /tmp/ccNvkH5l.s page 36 72 .loc 1 1925 17 view .LVU21 73 002a 5368 ldr r3, [r2, #4] 74 .loc 1 1925 23 view .LVU22 75 002c 23F04073 bic r3, r3, #50331648 76 0030 5360 str r3, [r2, #4] 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= hadc->Init.Resolution; 77 .loc 1 1926 3 is_stmt 1 view .LVU23 78 .loc 1 1926 7 is_stmt 0 view .LVU24 79 0032 0268 ldr r2, [r0] 80 .loc 1 1926 17 view .LVU25 81 0034 5368 ldr r3, [r2, #4] 82 .loc 1 1926 37 view .LVU26 83 0036 8168 ldr r1, [r0, #8] 84 .loc 1 1926 23 view .LVU27 85 0038 0B43 orrs r3, r3, r1 86 003a 5360 str r3, [r2, #4] 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC data alignment */ 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_ALIGN); 87 .loc 1 1929 3 is_stmt 1 view .LVU28 88 .loc 1 1929 7 is_stmt 0 view .LVU29 89 003c 0268 ldr r2, [r0] 90 .loc 1 1929 17 view .LVU30 91 003e 9368 ldr r3, [r2, #8] 92 .loc 1 1929 23 view .LVU31 93 0040 23F40063 bic r3, r3, #2048 94 0044 9360 str r3, [r2, #8] 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.DataAlign; 95 .loc 1 1930 3 is_stmt 1 view .LVU32 96 .loc 1 1930 7 is_stmt 0 view .LVU33 97 0046 0268 ldr r2, [r0] 98 .loc 1 1930 17 view .LVU34 99 0048 9368 ldr r3, [r2, #8] 100 .loc 1 1930 36 view .LVU35 101 004a C168 ldr r1, [r0, #12] 102 .loc 1 1930 23 view .LVU36 103 004c 0B43 orrs r3, r3, r1 104 004e 9360 str r3, [r2, #8] 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable external trigger if trigger selection is different of software */ 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* start. */ 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: This configuration keeps the hardware feature of parameter */ 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* ExternalTrigConvEdge "trigger edge none" equivalent to */ 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* software start. */ 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) 105 .loc 1 1937 3 is_stmt 1 view .LVU37 106 .loc 1 1937 17 is_stmt 0 view .LVU38 107 0050 826A ldr r2, [r0, #40] 108 .loc 1 1937 6 view .LVU39 109 0052 374B ldr r3, .L6+4 110 0054 9A42 cmp r2, r3 111 0056 57D0 beq .L2 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Select external trigger to start conversion */ 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 112 .loc 1 1940 5 is_stmt 1 view .LVU40 113 .loc 1 1940 9 is_stmt 0 view .LVU41 ARM GAS /tmp/ccNvkH5l.s page 37 114 0058 0268 ldr r2, [r0] 115 .loc 1 1940 19 view .LVU42 116 005a 9368 ldr r3, [r2, #8] 117 .loc 1 1940 25 view .LVU43 118 005c 23F07063 bic r3, r3, #251658240 119 0060 9360 str r3, [r2, #8] 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.ExternalTrigConv; 120 .loc 1 1941 5 is_stmt 1 view .LVU44 121 .loc 1 1941 9 is_stmt 0 view .LVU45 122 0062 0268 ldr r2, [r0] 123 .loc 1 1941 19 view .LVU46 124 0064 9368 ldr r3, [r2, #8] 125 .loc 1 1941 38 view .LVU47 126 0066 816A ldr r1, [r0, #40] 127 .loc 1 1941 25 view .LVU48 128 0068 0B43 orrs r3, r3, r1 129 006a 9360 str r3, [r2, #8] 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Select external trigger polarity */ 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 130 .loc 1 1944 5 is_stmt 1 view .LVU49 131 .loc 1 1944 9 is_stmt 0 view .LVU50 132 006c 0268 ldr r2, [r0] 133 .loc 1 1944 19 view .LVU51 134 006e 9368 ldr r3, [r2, #8] 135 .loc 1 1944 25 view .LVU52 136 0070 23F04053 bic r3, r3, #805306368 137 0074 9360 str r3, [r2, #8] 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.ExternalTrigConvEdge; 138 .loc 1 1945 5 is_stmt 1 view .LVU53 139 .loc 1 1945 9 is_stmt 0 view .LVU54 140 0076 0268 ldr r2, [r0] 141 .loc 1 1945 19 view .LVU55 142 0078 9368 ldr r3, [r2, #8] 143 .loc 1 1945 38 view .LVU56 144 007a C16A ldr r1, [r0, #44] 145 .loc 1 1945 25 view .LVU57 146 007c 0B43 orrs r3, r3, r1 147 007e 9360 str r3, [r2, #8] 148 .L3: 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset the external trigger */ 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC continuous conversion mode */ 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_CONT); 149 .loc 1 1955 3 is_stmt 1 view .LVU58 150 .loc 1 1955 7 is_stmt 0 view .LVU59 151 0080 0268 ldr r2, [r0] 152 .loc 1 1955 17 view .LVU60 153 0082 9368 ldr r3, [r2, #8] 154 .loc 1 1955 23 view .LVU61 155 0084 23F00203 bic r3, r3, #2 ARM GAS /tmp/ccNvkH5l.s page 38 156 0088 9360 str r3, [r2, #8] 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode); 157 .loc 1 1956 3 is_stmt 1 view .LVU62 158 .loc 1 1956 7 is_stmt 0 view .LVU63 159 008a 0268 ldr r2, [r0] 160 .loc 1 1956 17 view .LVU64 161 008c 9368 ldr r3, [r2, #8] 162 .loc 1 1956 26 view .LVU65 163 008e 017E ldrb r1, [r0, #24] @ zero_extendqisi2 164 .loc 1 1956 23 view .LVU66 165 0090 43EA4103 orr r3, r3, r1, lsl #1 166 0094 9360 str r3, [r2, #8] 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->Init.DiscontinuousConvMode != DISABLE) 167 .loc 1 1958 3 is_stmt 1 view .LVU67 168 .loc 1 1958 17 is_stmt 0 view .LVU68 169 0096 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2 170 .loc 1 1958 6 view .LVU69 171 009a 002B cmp r3, #0 172 009c 3FD0 beq .L4 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_DISC_NUMBER(hadc->Init.NbrOfDiscConversion)); 173 .loc 1 1960 5 is_stmt 1 view .LVU70 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC regular discontinuous mode */ 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= (uint32_t)ADC_CR1_DISCEN; 174 .loc 1 1963 5 view .LVU71 175 .loc 1 1963 9 is_stmt 0 view .LVU72 176 009e 0268 ldr r2, [r0] 177 .loc 1 1963 19 view .LVU73 178 00a0 5368 ldr r3, [r2, #4] 179 .loc 1 1963 25 view .LVU74 180 00a2 43F40063 orr r3, r3, #2048 181 00a6 5360 str r3, [r2, #4] 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the number of channels to be converted in discontinuous mode */ 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_DISCNUM); 182 .loc 1 1966 5 is_stmt 1 view .LVU75 183 .loc 1 1966 9 is_stmt 0 view .LVU76 184 00a8 0268 ldr r2, [r0] 185 .loc 1 1966 19 view .LVU77 186 00aa 5368 ldr r3, [r2, #4] 187 .loc 1 1966 25 view .LVU78 188 00ac 23F46043 bic r3, r3, #57344 189 00b0 5360 str r3, [r2, #4] 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion); 190 .loc 1 1967 5 is_stmt 1 view .LVU79 191 .loc 1 1967 9 is_stmt 0 view .LVU80 192 00b2 0168 ldr r1, [r0] 193 .loc 1 1967 19 view .LVU81 194 00b4 4B68 ldr r3, [r1, #4] 195 .loc 1 1967 29 view .LVU82 196 00b6 426A ldr r2, [r0, #36] 197 00b8 013A subs r2, r2, #1 198 .loc 1 1967 25 view .LVU83 199 00ba 43EA4233 orr r3, r3, r2, lsl #13 200 00be 4B60 str r3, [r1, #4] ARM GAS /tmp/ccNvkH5l.s page 39 201 .L5: 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the selected ADC regular discontinuous mode */ 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_DISCEN); 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC number of conversion */ 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 &= ~(ADC_SQR1_L); 202 .loc 1 1976 3 is_stmt 1 view .LVU84 203 .loc 1 1976 7 is_stmt 0 view .LVU85 204 00c0 0268 ldr r2, [r0] 205 .loc 1 1976 17 view .LVU86 206 00c2 D36A ldr r3, [r2, #44] 207 .loc 1 1976 24 view .LVU87 208 00c4 23F47003 bic r3, r3, #15728640 209 00c8 D362 str r3, [r2, #44] 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 |= ADC_SQR1(hadc->Init.NbrOfConversion); 210 .loc 1 1977 3 is_stmt 1 view .LVU88 211 .loc 1 1977 7 is_stmt 0 view .LVU89 212 00ca 0168 ldr r1, [r0] 213 .loc 1 1977 17 view .LVU90 214 00cc CB6A ldr r3, [r1, #44] 215 .loc 1 1977 28 view .LVU91 216 00ce C269 ldr r2, [r0, #28] 217 00d0 013A subs r2, r2, #1 218 .loc 1 1977 24 view .LVU92 219 00d2 43EA0253 orr r3, r3, r2, lsl #20 220 00d6 CB62 str r3, [r1, #44] 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC DMA continuous request */ 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_DDS); 221 .loc 1 1980 3 is_stmt 1 view .LVU93 222 .loc 1 1980 7 is_stmt 0 view .LVU94 223 00d8 0268 ldr r2, [r0] 224 .loc 1 1980 17 view .LVU95 225 00da 9368 ldr r3, [r2, #8] 226 .loc 1 1980 23 view .LVU96 227 00dc 23F40073 bic r3, r3, #512 228 00e0 9360 str r3, [r2, #8] 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_DMAContReq((uint32_t)hadc->Init.DMAContinuousRequests); 229 .loc 1 1981 3 is_stmt 1 view .LVU97 230 .loc 1 1981 7 is_stmt 0 view .LVU98 231 00e2 0268 ldr r2, [r0] 232 .loc 1 1981 17 view .LVU99 233 00e4 9368 ldr r3, [r2, #8] 234 .loc 1 1981 26 view .LVU100 235 00e6 90F83010 ldrb r1, [r0, #48] @ zero_extendqisi2 236 .loc 1 1981 23 view .LVU101 237 00ea 43EA4123 orr r3, r3, r1, lsl #9 238 00ee 9360 str r3, [r2, #8] 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC end of conversion selection */ 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EOCS); 239 .loc 1 1984 3 is_stmt 1 view .LVU102 240 .loc 1 1984 7 is_stmt 0 view .LVU103 ARM GAS /tmp/ccNvkH5l.s page 40 241 00f0 0268 ldr r2, [r0] 242 .loc 1 1984 17 view .LVU104 243 00f2 9368 ldr r3, [r2, #8] 244 .loc 1 1984 23 view .LVU105 245 00f4 23F48063 bic r3, r3, #1024 246 00f8 9360 str r3, [r2, #8] 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_EOCSelection(hadc->Init.EOCSelection); 247 .loc 1 1985 3 is_stmt 1 view .LVU106 248 .loc 1 1985 7 is_stmt 0 view .LVU107 249 00fa 0268 ldr r2, [r0] 250 .loc 1 1985 17 view .LVU108 251 00fc 9368 ldr r3, [r2, #8] 252 .loc 1 1985 26 view .LVU109 253 00fe 4169 ldr r1, [r0, #20] 254 .loc 1 1985 23 view .LVU110 255 0100 43EA8123 orr r3, r3, r1, lsl #10 256 0104 9360 str r3, [r2, #8] 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 257 .loc 1 1986 1 view .LVU111 258 0106 7047 bx lr 259 .L2: 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 260 .loc 1 1950 5 is_stmt 1 view .LVU112 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 261 .loc 1 1950 9 is_stmt 0 view .LVU113 262 0108 0268 ldr r2, [r0] 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 263 .loc 1 1950 19 view .LVU114 264 010a 9368 ldr r3, [r2, #8] 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 265 .loc 1 1950 25 view .LVU115 266 010c 23F07063 bic r3, r3, #251658240 267 0110 9360 str r3, [r2, #8] 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 268 .loc 1 1951 5 is_stmt 1 view .LVU116 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 269 .loc 1 1951 9 is_stmt 0 view .LVU117 270 0112 0268 ldr r2, [r0] 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 271 .loc 1 1951 19 view .LVU118 272 0114 9368 ldr r3, [r2, #8] 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 273 .loc 1 1951 25 view .LVU119 274 0116 23F04053 bic r3, r3, #805306368 275 011a 9360 str r3, [r2, #8] 276 011c B0E7 b .L3 277 .L4: 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 278 .loc 1 1972 5 is_stmt 1 view .LVU120 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 279 .loc 1 1972 9 is_stmt 0 view .LVU121 280 011e 0268 ldr r2, [r0] 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 281 .loc 1 1972 19 view .LVU122 282 0120 5368 ldr r3, [r2, #4] 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 283 .loc 1 1972 25 view .LVU123 ARM GAS /tmp/ccNvkH5l.s page 41 284 0122 23F40063 bic r3, r3, #2048 285 0126 5360 str r3, [r2, #4] 286 0128 CAE7 b .L5 287 .L7: 288 012a 00BF .align 2 289 .L6: 290 012c 00230140 .word 1073816320 291 0130 0100000F .word 251658241 292 .cfi_endproc 293 .LFE261: 295 .section .text.HAL_ADC_MspInit,"ax",%progbits 296 .align 1 297 .weak HAL_ADC_MspInit 298 .syntax unified 299 .thumb 300 .thumb_func 302 HAL_ADC_MspInit: 303 .LVL1: 304 .LFB241: 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 305 .loc 1 663 1 is_stmt 1 view -0 306 .cfi_startproc 307 @ args = 0, pretend = 0, frame = 0 308 @ frame_needed = 0, uses_anonymous_args = 0 309 @ link register save eliminated. 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 310 .loc 1 665 3 view .LVU125 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 311 .loc 1 669 1 is_stmt 0 view .LVU126 312 0000 7047 bx lr 313 .cfi_endproc 314 .LFE241: 316 .section .text.HAL_ADC_Init,"ax",%progbits 317 .align 1 318 .global HAL_ADC_Init 319 .syntax unified 320 .thumb 321 .thumb_func 323 HAL_ADC_Init: 324 .LVL2: 325 .LFB239: 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 326 .loc 1 312 1 is_stmt 1 view -0 327 .cfi_startproc 328 @ args = 0, pretend = 0, frame = 0 329 @ frame_needed = 0, uses_anonymous_args = 0 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 330 .loc 1 313 3 view .LVU128 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 331 .loc 1 316 3 view .LVU129 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 332 .loc 1 316 6 is_stmt 0 view .LVU130 333 0000 38B3 cbz r0, .L13 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 334 .loc 1 312 1 view .LVU131 335 0002 10B5 push {r4, lr} 336 .LCFI0: ARM GAS /tmp/ccNvkH5l.s page 42 337 .cfi_def_cfa_offset 8 338 .cfi_offset 4, -8 339 .cfi_offset 14, -4 340 0004 0446 mov r4, r0 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); 341 .loc 1 322 3 is_stmt 1 view .LVU132 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); 342 .loc 1 323 3 view .LVU133 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ScanConvMode)); 343 .loc 1 324 3 view .LVU134 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 344 .loc 1 325 3 view .LVU135 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG(hadc->Init.ExternalTrigConv)); 345 .loc 1 326 3 view .LVU136 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); 346 .loc 1 327 3 view .LVU137 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion)); 347 .loc 1 328 3 view .LVU138 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); 348 .loc 1 329 3 view .LVU139 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection)); 349 .loc 1 330 3 view .LVU140 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); 350 .loc 1 331 3 view .LVU141 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 351 .loc 1 332 3 view .LVU142 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 352 .loc 1 334 3 view .LVU143 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 353 .loc 1 336 5 view .LVU144 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 354 .loc 1 339 3 view .LVU145 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 355 .loc 1 339 11 is_stmt 0 view .LVU146 356 0006 036C ldr r3, [r0, #64] 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 357 .loc 1 339 6 view .LVU147 358 0008 43B1 cbz r3, .L19 359 .LVL3: 360 .L11: 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 361 .loc 1 369 3 is_stmt 1 view .LVU148 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 362 .loc 1 369 7 is_stmt 0 view .LVU149 363 000a 236C ldr r3, [r4, #64] 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 364 .loc 1 369 6 view .LVU150 365 000c 13F0100F tst r3, #16 366 0010 0BD0 beq .L20 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 367 .loc 1 389 20 view .LVU151 368 0012 0120 movs r0, #1 369 .L12: 370 .LVL4: 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 371 .loc 1 393 3 is_stmt 1 view .LVU152 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 43 372 .loc 1 393 3 view .LVU153 373 0014 0023 movs r3, #0 374 0016 84F83C30 strb r3, [r4, #60] 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 375 .loc 1 393 3 view .LVU154 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 376 .loc 1 396 3 view .LVU155 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 377 .loc 1 397 1 is_stmt 0 view .LVU156 378 001a 10BD pop {r4, pc} 379 .LVL5: 380 .L19: 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 381 .loc 1 357 5 is_stmt 1 view .LVU157 382 001c FFF7FEFF bl HAL_ADC_MspInit 383 .LVL6: 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 384 .loc 1 361 5 view .LVU158 385 0020 0023 movs r3, #0 386 0022 6364 str r3, [r4, #68] 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 387 .loc 1 364 5 view .LVU159 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 388 .loc 1 364 16 is_stmt 0 view .LVU160 389 0024 84F83C30 strb r3, [r4, #60] 390 0028 EFE7 b .L11 391 .L20: 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 392 .loc 1 372 5 is_stmt 1 view .LVU161 393 002a 236C ldr r3, [r4, #64] 394 002c 23F48853 bic r3, r3, #4352 395 0030 23F00203 bic r3, r3, #2 396 0034 43F00203 orr r3, r3, #2 397 0038 2364 str r3, [r4, #64] 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 398 .loc 1 377 5 view .LVU162 399 003a 2046 mov r0, r4 400 003c FFF7FEFF bl ADC_Init 401 .LVL7: 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 402 .loc 1 380 5 view .LVU163 403 0040 0020 movs r0, #0 404 0042 6064 str r0, [r4, #68] 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 405 .loc 1 383 5 view .LVU164 406 0044 236C ldr r3, [r4, #64] 407 0046 23F00303 bic r3, r3, #3 408 004a 43F00103 orr r3, r3, #1 409 004e 2364 str r3, [r4, #64] 410 0050 E0E7 b .L12 411 .LVL8: 412 .L13: 413 .LCFI1: 414 .cfi_def_cfa_offset 0 415 .cfi_restore 4 416 .cfi_restore 14 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 44 417 .loc 1 318 12 is_stmt 0 view .LVU165 418 0052 0120 movs r0, #1 419 .LVL9: 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 420 .loc 1 397 1 view .LVU166 421 0054 7047 bx lr 422 .cfi_endproc 423 .LFE239: 425 .section .text.HAL_ADC_MspDeInit,"ax",%progbits 426 .align 1 427 .weak HAL_ADC_MspDeInit 428 .syntax unified 429 .thumb 430 .thumb_func 432 HAL_ADC_MspDeInit: 433 .LVL10: 434 .LFB242: 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 435 .loc 1 678 1 is_stmt 1 view -0 436 .cfi_startproc 437 @ args = 0, pretend = 0, frame = 0 438 @ frame_needed = 0, uses_anonymous_args = 0 439 @ link register save eliminated. 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 440 .loc 1 680 3 view .LVU168 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 441 .loc 1 684 1 is_stmt 0 view .LVU169 442 0000 7047 bx lr 443 .cfi_endproc 444 .LFE242: 446 .section .text.HAL_ADC_DeInit,"ax",%progbits 447 .align 1 448 .global HAL_ADC_DeInit 449 .syntax unified 450 .thumb 451 .thumb_func 453 HAL_ADC_DeInit: 454 .LVL11: 455 .LFB240: 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 456 .loc 1 406 1 is_stmt 1 view -0 457 .cfi_startproc 458 @ args = 0, pretend = 0, frame = 0 459 @ frame_needed = 0, uses_anonymous_args = 0 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 460 .loc 1 407 3 view .LVU171 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 461 .loc 1 410 3 view .LVU172 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 462 .loc 1 410 6 is_stmt 0 view .LVU173 463 0000 C8B1 cbz r0, .L25 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 464 .loc 1 406 1 view .LVU174 465 0002 10B5 push {r4, lr} 466 .LCFI2: 467 .cfi_def_cfa_offset 8 468 .cfi_offset 4, -8 ARM GAS /tmp/ccNvkH5l.s page 45 469 .cfi_offset 14, -4 470 0004 0446 mov r4, r0 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 471 .loc 1 416 3 is_stmt 1 view .LVU175 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 472 .loc 1 419 3 view .LVU176 473 0006 036C ldr r3, [r0, #64] 474 0008 43F00203 orr r3, r3, #2 475 000c 0364 str r3, [r0, #64] 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 476 .loc 1 423 3 view .LVU177 477 000e 0268 ldr r2, [r0] 478 0010 9368 ldr r3, [r2, #8] 479 0012 23F00103 bic r3, r3, #1 480 0016 9360 str r3, [r2, #8] 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 481 .loc 1 427 3 view .LVU178 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 482 .loc 1 427 7 is_stmt 0 view .LVU179 483 0018 0368 ldr r3, [r0] 484 001a 9B68 ldr r3, [r3, #8] 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 485 .loc 1 427 6 view .LVU180 486 001c 13F0010F tst r3, #1 487 0020 03D0 beq .L30 488 .LVL12: 489 .L24: 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 490 .loc 1 450 3 is_stmt 1 view .LVU181 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 491 .loc 1 450 3 view .LVU182 492 0022 0020 movs r0, #0 493 0024 84F83C00 strb r0, [r4, #60] 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 494 .loc 1 450 3 view .LVU183 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 495 .loc 1 453 3 view .LVU184 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 496 .loc 1 454 1 is_stmt 0 view .LVU185 497 0028 10BD pop {r4, pc} 498 .LVL13: 499 .L30: 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 500 .loc 1 439 5 is_stmt 1 view .LVU186 501 002a FFF7FEFF bl HAL_ADC_MspDeInit 502 .LVL14: 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 503 .loc 1 443 5 view .LVU187 504 002e 0023 movs r3, #0 505 0030 6364 str r3, [r4, #68] 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 506 .loc 1 446 5 view .LVU188 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 507 .loc 1 446 17 is_stmt 0 view .LVU189 508 0032 2364 str r3, [r4, #64] 509 0034 F5E7 b .L24 510 .LVL15: ARM GAS /tmp/ccNvkH5l.s page 46 511 .L25: 512 .LCFI3: 513 .cfi_def_cfa_offset 0 514 .cfi_restore 4 515 .cfi_restore 14 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 516 .loc 1 412 12 view .LVU190 517 0036 0120 movs r0, #1 518 .LVL16: 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 519 .loc 1 454 1 view .LVU191 520 0038 7047 bx lr 521 .cfi_endproc 522 .LFE240: 524 .section .text.HAL_ADC_Start,"ax",%progbits 525 .align 1 526 .global HAL_ADC_Start 527 .syntax unified 528 .thumb 529 .thumb_func 531 HAL_ADC_Start: 532 .LVL17: 533 .LFB243: 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 534 .loc 1 717 1 is_stmt 1 view -0 535 .cfi_startproc 536 @ args = 0, pretend = 0, frame = 8 537 @ frame_needed = 0, uses_anonymous_args = 0 538 @ link register save eliminated. 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 539 .loc 1 717 1 is_stmt 0 view .LVU193 540 0000 82B0 sub sp, sp, #8 541 .LCFI4: 542 .cfi_def_cfa_offset 8 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 543 .loc 1 718 3 is_stmt 1 view .LVU194 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 544 .loc 1 718 17 is_stmt 0 view .LVU195 545 0002 0023 movs r3, #0 546 0004 0193 str r3, [sp, #4] 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 547 .loc 1 719 3 is_stmt 1 view .LVU196 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 548 .loc 1 722 3 view .LVU197 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 549 .loc 1 723 3 view .LVU198 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 550 .loc 1 726 3 view .LVU199 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 551 .loc 1 726 3 view .LVU200 552 0006 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2 553 000a 012B cmp r3, #1 554 000c 00F08980 beq .L43 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 555 .loc 1 726 3 discriminator 2 view .LVU201 556 0010 0123 movs r3, #1 557 0012 80F83C30 strb r3, [r0, #60] ARM GAS /tmp/ccNvkH5l.s page 47 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 558 .loc 1 726 3 discriminator 2 view .LVU202 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 559 .loc 1 731 3 view .LVU203 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 560 .loc 1 731 12 is_stmt 0 view .LVU204 561 0016 0368 ldr r3, [r0] 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 562 .loc 1 731 22 view .LVU205 563 0018 9A68 ldr r2, [r3, #8] 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 564 .loc 1 731 6 view .LVU206 565 001a 12F0010F tst r2, #1 566 001e 13D1 bne .L33 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 567 .loc 1 734 5 is_stmt 1 view .LVU207 568 0020 9A68 ldr r2, [r3, #8] 569 0022 42F00102 orr r2, r2, #1 570 0026 9A60 str r2, [r3, #8] 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 571 .loc 1 738 5 view .LVU208 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 572 .loc 1 738 53 is_stmt 0 view .LVU209 573 0028 414B ldr r3, .L53 574 002a 1B68 ldr r3, [r3] 575 002c 414A ldr r2, .L53+4 576 002e A2FB0323 umull r2, r3, r2, r3 577 0032 9B0C lsrs r3, r3, #18 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 578 .loc 1 738 34 view .LVU210 579 0034 03EB4303 add r3, r3, r3, lsl #1 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 580 .loc 1 738 13 view .LVU211 581 0038 0193 str r3, [sp, #4] 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 582 .loc 1 739 5 is_stmt 1 view .LVU212 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 583 .loc 1 739 11 is_stmt 0 view .LVU213 584 003a 02E0 b .L34 585 .L35: 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 586 .loc 1 741 7 is_stmt 1 view .LVU214 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 587 .loc 1 741 14 is_stmt 0 view .LVU215 588 003c 019B ldr r3, [sp, #4] 589 003e 013B subs r3, r3, #1 590 0040 0193 str r3, [sp, #4] 591 .L34: 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 592 .loc 1 739 20 is_stmt 1 view .LVU216 593 0042 019B ldr r3, [sp, #4] 594 0044 002B cmp r3, #0 595 0046 F9D1 bne .L35 596 .L33: 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 597 .loc 1 746 3 view .LVU217 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { ARM GAS /tmp/ccNvkH5l.s page 48 598 .loc 1 746 7 is_stmt 0 view .LVU218 599 0048 0268 ldr r2, [r0] 600 004a 9368 ldr r3, [r2, #8] 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 601 .loc 1 746 6 view .LVU219 602 004c 13F0010F tst r3, #1 603 0050 5CD0 beq .L36 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 604 .loc 1 751 5 is_stmt 1 view .LVU220 605 0052 036C ldr r3, [r0, #64] 606 0054 23F4E063 bic r3, r3, #1792 607 0058 23F00103 bic r3, r3, #1 608 005c 43F48073 orr r3, r3, #256 609 0060 0364 str r3, [r0, #64] 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 610 .loc 1 757 5 view .LVU221 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 611 .loc 1 757 9 is_stmt 0 view .LVU222 612 0062 5368 ldr r3, [r2, #4] 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 613 .loc 1 757 8 view .LVU223 614 0064 13F4806F tst r3, #1024 615 0068 05D0 beq .L37 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 616 .loc 1 759 7 is_stmt 1 view .LVU224 617 006a 036C ldr r3, [r0, #64] 618 006c 23F44053 bic r3, r3, #12288 619 0070 43F48053 orr r3, r3, #4096 620 0074 0364 str r3, [r0, #64] 621 .L37: 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 622 .loc 1 763 5 view .LVU225 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 623 .loc 1 763 9 is_stmt 0 view .LVU226 624 0076 036C ldr r3, [r0, #64] 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 625 .loc 1 763 8 view .LVU227 626 0078 13F4805F tst r3, #4096 627 007c 1BD0 beq .L38 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 628 .loc 1 766 7 is_stmt 1 view .LVU228 629 007e 436C ldr r3, [r0, #68] 630 0080 23F00603 bic r3, r3, #6 631 0084 4364 str r3, [r0, #68] 632 .L39: 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 633 .loc 1 777 5 view .LVU229 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 634 .loc 1 777 5 view .LVU230 635 0086 0023 movs r3, #0 636 0088 80F83C30 strb r3, [r0, #60] 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 637 .loc 1 777 5 view .LVU231 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 638 .loc 1 782 5 view .LVU232 639 .LVL18: 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 49 640 .loc 1 786 5 view .LVU233 641 008c 6FF02203 mvn r3, #34 642 0090 1360 str r3, [r2] 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 643 .loc 1 789 5 view .LVU234 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 644 .loc 1 789 9 is_stmt 0 view .LVU235 645 0092 294B ldr r3, .L53+8 646 0094 5B68 ldr r3, [r3, #4] 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 647 .loc 1 789 8 view .LVU236 648 0096 13F01F0F tst r3, #31 649 009a 27D1 bne .L40 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 650 .loc 1 792 7 is_stmt 1 view .LVU237 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 651 .loc 1 792 16 is_stmt 0 view .LVU238 652 009c 0368 ldr r3, [r0] 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 653 .loc 1 792 10 view .LVU239 654 009e 274A ldr r2, .L53+12 655 00a0 9342 cmp r3, r2 656 00a2 11D0 beq .L41 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 657 .loc 1 792 36 discriminator 1 view .LVU240 658 00a4 02F58072 add r2, r2, #256 659 00a8 9342 cmp r3, r2 660 00aa 07D0 beq .L50 661 .L42: 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 662 .loc 1 793 11 view .LVU241 663 00ac 244A ldr r2, .L53+16 664 00ae 9342 cmp r3, r2 665 00b0 14D0 beq .L51 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 666 .loc 1 826 10 view .LVU242 667 00b2 0020 movs r0, #0 668 .LVL19: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 669 .loc 1 826 10 view .LVU243 670 00b4 33E0 b .L32 671 .LVL20: 672 .L38: 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 673 .loc 1 771 7 is_stmt 1 view .LVU244 674 00b6 0023 movs r3, #0 675 00b8 4364 str r3, [r0, #68] 676 00ba E4E7 b .L39 677 .LVL21: 678 .L50: 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 679 .loc 1 792 73 is_stmt 0 discriminator 2 view .LVU245 680 00bc 02F50072 add r2, r2, #512 681 00c0 5268 ldr r2, [r2, #4] 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 682 .loc 1 792 65 discriminator 2 view .LVU246 683 00c2 12F01F0F tst r2, #31 ARM GAS /tmp/ccNvkH5l.s page 50 684 00c6 F1D1 bne .L42 685 .L41: 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 686 .loc 1 797 9 is_stmt 1 view .LVU247 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 687 .loc 1 797 28 is_stmt 0 view .LVU248 688 00c8 9A68 ldr r2, [r3, #8] 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 689 .loc 1 797 12 view .LVU249 690 00ca 12F0405F tst r2, #805306368 691 00ce 2AD1 bne .L46 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 692 .loc 1 800 11 is_stmt 1 view .LVU250 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 693 .loc 1 800 25 is_stmt 0 view .LVU251 694 00d0 9A68 ldr r2, [r3, #8] 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 695 .loc 1 800 31 view .LVU252 696 00d2 42F08042 orr r2, r2, #1073741824 697 00d6 9A60 str r2, [r3, #8] 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 698 .loc 1 826 10 view .LVU253 699 00d8 0020 movs r0, #0 700 .LVL22: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 701 .loc 1 826 10 view .LVU254 702 00da 20E0 b .L32 703 .LVL23: 704 .L51: 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 705 .loc 1 793 48 discriminator 1 view .LVU255 706 00dc 02F58072 add r2, r2, #256 707 00e0 5268 ldr r2, [r2, #4] 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 708 .loc 1 793 40 discriminator 1 view .LVU256 709 00e2 12F0100F tst r2, #16 710 00e6 EFD0 beq .L41 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 711 .loc 1 826 10 view .LVU257 712 00e8 0020 movs r0, #0 713 .LVL24: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 714 .loc 1 826 10 view .LVU258 715 00ea 18E0 b .L32 716 .LVL25: 717 .L40: 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 718 .loc 1 809 7 is_stmt 1 view .LVU259 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 719 .loc 1 809 16 is_stmt 0 view .LVU260 720 00ec 0368 ldr r3, [r0] 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 721 .loc 1 809 10 view .LVU261 722 00ee 134A ldr r2, .L53+12 723 00f0 9342 cmp r3, r2 724 00f2 01D0 beq .L52 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 51 725 .loc 1 826 10 view .LVU262 726 00f4 0020 movs r0, #0 727 .LVL26: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 728 .loc 1 826 10 view .LVU263 729 00f6 12E0 b .L32 730 .LVL27: 731 .L52: 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 732 .loc 1 809 55 discriminator 1 view .LVU264 733 00f8 9A68 ldr r2, [r3, #8] 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 734 .loc 1 809 36 discriminator 1 view .LVU265 735 00fa 12F0405F tst r2, #805306368 736 00fe 14D1 bne .L48 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 737 .loc 1 812 9 is_stmt 1 view .LVU266 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 738 .loc 1 812 23 is_stmt 0 view .LVU267 739 0100 9A68 ldr r2, [r3, #8] 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 740 .loc 1 812 29 view .LVU268 741 0102 42F08042 orr r2, r2, #1073741824 742 0106 9A60 str r2, [r3, #8] 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 743 .loc 1 826 10 view .LVU269 744 0108 0020 movs r0, #0 745 .LVL28: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 746 .loc 1 826 10 view .LVU270 747 010a 08E0 b .L32 748 .LVL29: 749 .L36: 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 750 .loc 1 819 5 is_stmt 1 view .LVU271 751 010c 036C ldr r3, [r0, #64] 752 010e 43F01003 orr r3, r3, #16 753 0112 0364 str r3, [r0, #64] 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 754 .loc 1 822 5 view .LVU272 755 0114 436C ldr r3, [r0, #68] 756 0116 43F00103 orr r3, r3, #1 757 011a 4364 str r3, [r0, #68] 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 758 .loc 1 826 10 is_stmt 0 view .LVU273 759 011c 0020 movs r0, #0 760 .LVL30: 761 .L32: 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 762 .loc 1 827 1 view .LVU274 763 011e 02B0 add sp, sp, #8 764 .LCFI5: 765 .cfi_remember_state 766 .cfi_def_cfa_offset 0 767 @ sp needed 768 0120 7047 bx lr 769 .LVL31: ARM GAS /tmp/ccNvkH5l.s page 52 770 .L43: 771 .LCFI6: 772 .cfi_restore_state 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 773 .loc 1 726 3 discriminator 1 view .LVU275 774 0122 0220 movs r0, #2 775 .LVL32: 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 776 .loc 1 726 3 discriminator 1 view .LVU276 777 0124 FBE7 b .L32 778 .LVL33: 779 .L46: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 780 .loc 1 826 10 view .LVU277 781 0126 0020 movs r0, #0 782 .LVL34: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 783 .loc 1 826 10 view .LVU278 784 0128 F9E7 b .L32 785 .LVL35: 786 .L48: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 787 .loc 1 826 10 view .LVU279 788 012a 0020 movs r0, #0 789 .LVL36: 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 790 .loc 1 826 10 view .LVU280 791 012c F7E7 b .L32 792 .L54: 793 012e 00BF .align 2 794 .L53: 795 0130 00000000 .word SystemCoreClock 796 0134 83DE1B43 .word 1125899907 797 0138 00230140 .word 1073816320 798 013c 00200140 .word 1073815552 799 0140 00220140 .word 1073816064 800 .cfi_endproc 801 .LFE243: 803 .section .text.HAL_ADC_Stop,"ax",%progbits 804 .align 1 805 .global HAL_ADC_Stop 806 .syntax unified 807 .thumb 808 .thumb_func 810 HAL_ADC_Stop: 811 .LVL37: 812 .LFB244: 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 813 .loc 1 840 1 is_stmt 1 view -0 814 .cfi_startproc 815 @ args = 0, pretend = 0, frame = 0 816 @ frame_needed = 0, uses_anonymous_args = 0 817 @ link register save eliminated. 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 818 .loc 1 842 3 view .LVU282 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 819 .loc 1 845 3 view .LVU283 ARM GAS /tmp/ccNvkH5l.s page 53 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 820 .loc 1 845 3 view .LVU284 821 0000 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2 822 0004 012B cmp r3, #1 823 0006 19D0 beq .L58 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 824 .loc 1 845 3 discriminator 2 view .LVU285 825 0008 0123 movs r3, #1 826 000a 80F83C30 strb r3, [r0, #60] 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 827 .loc 1 845 3 discriminator 2 view .LVU286 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 828 .loc 1 849 3 view .LVU287 829 000e 0268 ldr r2, [r0] 830 0010 9368 ldr r3, [r2, #8] 831 0012 23F00103 bic r3, r3, #1 832 0016 9360 str r3, [r2, #8] 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 833 .loc 1 852 3 view .LVU288 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 834 .loc 1 852 7 is_stmt 0 view .LVU289 835 0018 0368 ldr r3, [r0] 836 001a 9B68 ldr r3, [r3, #8] 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 837 .loc 1 852 6 view .LVU290 838 001c 13F0010F tst r3, #1 839 0020 07D1 bne .L57 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 840 .loc 1 855 5 is_stmt 1 view .LVU291 841 0022 036C ldr r3, [r0, #64] 842 0024 23F48853 bic r3, r3, #4352 843 0028 23F00103 bic r3, r3, #1 844 002c 43F00103 orr r3, r3, #1 845 0030 0364 str r3, [r0, #64] 846 .L57: 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 847 .loc 1 861 3 view .LVU292 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 848 .loc 1 861 3 view .LVU293 849 0032 0023 movs r3, #0 850 0034 80F83C30 strb r3, [r0, #60] 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 851 .loc 1 861 3 view .LVU294 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 852 .loc 1 864 3 view .LVU295 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 853 .loc 1 864 10 is_stmt 0 view .LVU296 854 0038 1846 mov r0, r3 855 .LVL38: 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 856 .loc 1 864 10 view .LVU297 857 003a 7047 bx lr 858 .LVL39: 859 .L58: 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 860 .loc 1 845 3 discriminator 1 view .LVU298 861 003c 0220 movs r0, #2 ARM GAS /tmp/ccNvkH5l.s page 54 862 .LVL40: 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 863 .loc 1 865 1 view .LVU299 864 003e 7047 bx lr 865 .cfi_endproc 866 .LFE244: 868 .section .text.HAL_ADC_PollForConversion,"ax",%progbits 869 .align 1 870 .global HAL_ADC_PollForConversion 871 .syntax unified 872 .thumb 873 .thumb_func 875 HAL_ADC_PollForConversion: 876 .LVL41: 877 .LFB245: 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 878 .loc 1 883 1 is_stmt 1 view -0 879 .cfi_startproc 880 @ args = 0, pretend = 0, frame = 0 881 @ frame_needed = 0, uses_anonymous_args = 0 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 882 .loc 1 883 1 is_stmt 0 view .LVU301 883 0000 70B5 push {r4, r5, r6, lr} 884 .LCFI7: 885 .cfi_def_cfa_offset 16 886 .cfi_offset 4, -16 887 .cfi_offset 5, -12 888 .cfi_offset 6, -8 889 .cfi_offset 14, -4 890 0002 0446 mov r4, r0 891 0004 0D46 mov r5, r1 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 892 .loc 1 884 3 is_stmt 1 view .LVU302 893 .LVL42: 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA)) 894 .loc 1 892 3 view .LVU303 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA)) 895 .loc 1 892 7 is_stmt 0 view .LVU304 896 0006 0368 ldr r3, [r0] 897 0008 9A68 ldr r2, [r3, #8] 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA)) 898 .loc 1 892 6 view .LVU305 899 000a 12F4806F tst r2, #1024 900 000e 03D0 beq .L60 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 901 .loc 1 893 7 view .LVU306 902 0010 9B68 ldr r3, [r3, #8] 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA)) 903 .loc 1 892 57 discriminator 1 view .LVU307 904 0012 13F4807F tst r3, #256 905 0016 19D1 bne .L71 906 .L60: 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 907 .loc 1 905 3 is_stmt 1 view .LVU308 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 908 .loc 1 905 15 is_stmt 0 view .LVU309 909 0018 FFF7FEFF bl HAL_GetTick ARM GAS /tmp/ccNvkH5l.s page 55 910 .LVL43: 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 911 .loc 1 905 15 view .LVU310 912 001c 0646 mov r6, r0 913 .LVL44: 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 914 .loc 1 908 3 is_stmt 1 view .LVU311 915 .L63: 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 916 .loc 1 908 10 view .LVU312 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 917 .loc 1 908 12 is_stmt 0 view .LVU313 918 001e 2368 ldr r3, [r4] 919 0020 1A68 ldr r2, [r3] 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 920 .loc 1 908 10 view .LVU314 921 0022 12F0020F tst r2, #2 922 0026 20D1 bne .L72 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 923 .loc 1 911 5 is_stmt 1 view .LVU315 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 924 .loc 1 911 8 is_stmt 0 view .LVU316 925 0028 B5F1FF3F cmp r5, #-1 926 002c F7D0 beq .L63 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 927 .loc 1 913 7 is_stmt 1 view .LVU317 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 928 .loc 1 913 10 is_stmt 0 view .LVU318 929 002e B5B9 cbnz r5, .L73 930 .L64: 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 931 .loc 1 916 9 is_stmt 1 view .LVU319 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 932 .loc 1 916 15 is_stmt 0 view .LVU320 933 0030 2368 ldr r3, [r4] 934 0032 1B68 ldr r3, [r3] 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 935 .loc 1 916 12 view .LVU321 936 0034 13F0020F tst r3, #2 937 0038 F1D1 bne .L63 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 938 .loc 1 919 11 is_stmt 1 view .LVU322 939 003a 236C ldr r3, [r4, #64] 940 003c 43F00403 orr r3, r3, #4 941 0040 2364 str r3, [r4, #64] 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 942 .loc 1 922 11 view .LVU323 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 943 .loc 1 922 11 view .LVU324 944 0042 0023 movs r3, #0 945 0044 84F83C30 strb r3, [r4, #60] 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 946 .loc 1 922 11 view .LVU325 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 947 .loc 1 924 11 view .LVU326 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 948 .loc 1 924 18 is_stmt 0 view .LVU327 ARM GAS /tmp/ccNvkH5l.s page 56 949 0048 0320 movs r0, #3 950 004a 32E0 b .L61 951 .LVL45: 952 .L71: 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 953 .loc 1 896 5 is_stmt 1 view .LVU328 954 004c 036C ldr r3, [r0, #64] 955 004e 43F02003 orr r3, r3, #32 956 0052 0364 str r3, [r0, #64] 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 957 .loc 1 899 5 view .LVU329 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 958 .loc 1 899 5 view .LVU330 959 0054 0023 movs r3, #0 960 0056 80F83C30 strb r3, [r0, #60] 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 961 .loc 1 899 5 view .LVU331 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 962 .loc 1 901 5 view .LVU332 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 963 .loc 1 901 12 is_stmt 0 view .LVU333 964 005a 0120 movs r0, #1 965 .LVL46: 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 966 .loc 1 901 12 view .LVU334 967 005c 29E0 b .L61 968 .LVL47: 969 .L73: 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 970 .loc 1 913 32 discriminator 1 view .LVU335 971 005e FFF7FEFF bl HAL_GetTick 972 .LVL48: 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 973 .loc 1 913 46 discriminator 1 view .LVU336 974 0062 801B subs r0, r0, r6 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 975 .loc 1 913 27 discriminator 1 view .LVU337 976 0064 A842 cmp r0, r5 977 0066 DAD9 bls .L63 978 0068 E2E7 b .L64 979 .L72: 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 980 .loc 1 931 3 is_stmt 1 view .LVU338 981 006a 6FF01202 mvn r2, #18 982 006e 1A60 str r2, [r3] 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 983 .loc 1 934 3 view .LVU339 984 0070 236C ldr r3, [r4, #64] 985 0072 43F40073 orr r3, r3, #512 986 0076 2364 str r3, [r4, #64] 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 987 .loc 1 942 3 view .LVU340 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 988 .loc 1 942 7 is_stmt 0 view .LVU341 989 0078 2368 ldr r3, [r4] 990 007a 9A68 ldr r2, [r3, #8] 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && ARM GAS /tmp/ccNvkH5l.s page 57 991 .loc 1 942 6 view .LVU342 992 007c 12F0405F tst r2, #805306368 993 0080 16D1 bne .L68 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 994 .loc 1 943 18 view .LVU343 995 0082 207E ldrb r0, [r4, #24] @ zero_extendqisi2 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 996 .loc 1 942 61 discriminator 1 view .LVU344 997 0084 B0B9 cbnz r0, .L69 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 998 .loc 1 944 8 view .LVU345 999 0086 DA6A ldr r2, [r3, #44] 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 1000 .loc 1 943 61 view .LVU346 1001 0088 12F4700F tst r2, #15728640 1002 008c 03D0 beq .L67 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1003 .loc 1 945 8 view .LVU347 1004 008e 9B68 ldr r3, [r3, #8] 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 1005 .loc 1 944 57 view .LVU348 1006 0090 13F4806F tst r3, #1024 1007 0094 0DD1 bne .L61 1008 .L67: 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1009 .loc 1 948 5 is_stmt 1 view .LVU349 1010 0096 236C ldr r3, [r4, #64] 1011 0098 23F48073 bic r3, r3, #256 1012 009c 2364 str r3, [r4, #64] 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1013 .loc 1 950 5 view .LVU350 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1014 .loc 1 950 9 is_stmt 0 view .LVU351 1015 009e 236C ldr r3, [r4, #64] 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1016 .loc 1 950 8 view .LVU352 1017 00a0 13F4805F tst r3, #4096 1018 00a4 05D1 bne .L61 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1019 .loc 1 952 7 is_stmt 1 view .LVU353 1020 00a6 236C ldr r3, [r4, #64] 1021 00a8 43F00103 orr r3, r3, #1 1022 00ac 2364 str r3, [r4, #64] 1023 00ae 00E0 b .L61 1024 .L68: 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1025 .loc 1 957 10 is_stmt 0 view .LVU354 1026 00b0 0020 movs r0, #0 1027 .LVL49: 1028 .L61: 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1029 .loc 1 958 1 view .LVU355 1030 00b2 70BD pop {r4, r5, r6, pc} 1031 .LVL50: 1032 .L69: 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1033 .loc 1 957 10 view .LVU356 ARM GAS /tmp/ccNvkH5l.s page 58 1034 00b4 0020 movs r0, #0 1035 00b6 FCE7 b .L61 1036 .cfi_endproc 1037 .LFE245: 1039 .section .text.HAL_ADC_PollForEvent,"ax",%progbits 1040 .align 1 1041 .global HAL_ADC_PollForEvent 1042 .syntax unified 1043 .thumb 1044 .thumb_func 1046 HAL_ADC_PollForEvent: 1047 .LVL51: 1048 .LFB246: 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 1049 .loc 1 972 1 is_stmt 1 view -0 1050 .cfi_startproc 1051 @ args = 0, pretend = 0, frame = 0 1052 @ frame_needed = 0, uses_anonymous_args = 0 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 1053 .loc 1 972 1 is_stmt 0 view .LVU358 1054 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 1055 .LCFI8: 1056 .cfi_def_cfa_offset 24 1057 .cfi_offset 4, -24 1058 .cfi_offset 5, -20 1059 .cfi_offset 6, -16 1060 .cfi_offset 7, -12 1061 .cfi_offset 8, -8 1062 .cfi_offset 14, -4 1063 0004 0546 mov r5, r0 1064 0006 0E46 mov r6, r1 1065 0008 1746 mov r7, r2 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1066 .loc 1 973 3 is_stmt 1 view .LVU359 1067 .LVL52: 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType)); 1068 .loc 1 976 3 view .LVU360 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1069 .loc 1 977 3 view .LVU361 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1070 .loc 1 980 3 view .LVU362 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1071 .loc 1 980 15 is_stmt 0 view .LVU363 1072 000a FFF7FEFF bl HAL_GetTick 1073 .LVL53: 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1074 .loc 1 980 15 view .LVU364 1075 000e 8046 mov r8, r0 1076 .LVL54: 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1077 .loc 1 983 3 is_stmt 1 view .LVU365 1078 .L76: 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1079 .loc 1 983 10 view .LVU366 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1080 .loc 1 983 12 is_stmt 0 view .LVU367 1081 0010 2C68 ldr r4, [r5] ARM GAS /tmp/ccNvkH5l.s page 59 1082 0012 2368 ldr r3, [r4] 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1083 .loc 1 983 10 view .LVU368 1084 0014 36EA0303 bics r3, r6, r3 1085 0018 18D0 beq .L83 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1086 .loc 1 986 5 is_stmt 1 view .LVU369 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1087 .loc 1 986 8 is_stmt 0 view .LVU370 1088 001a B7F1FF3F cmp r7, #-1 1089 001e F7D0 beq .L76 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1090 .loc 1 988 7 is_stmt 1 view .LVU371 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1091 .loc 1 988 10 is_stmt 0 view .LVU372 1092 0020 6FB9 cbnz r7, .L84 1093 .L77: 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1094 .loc 1 991 9 is_stmt 1 view .LVU373 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1095 .loc 1 991 15 is_stmt 0 view .LVU374 1096 0022 2B68 ldr r3, [r5] 1097 0024 1B68 ldr r3, [r3] 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1098 .loc 1 991 12 view .LVU375 1099 0026 36EA0303 bics r3, r6, r3 1100 002a F1D0 beq .L76 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1101 .loc 1 994 11 is_stmt 1 view .LVU376 1102 002c 2B6C ldr r3, [r5, #64] 1103 002e 43F00403 orr r3, r3, #4 1104 0032 2B64 str r3, [r5, #64] 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1105 .loc 1 997 11 view .LVU377 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1106 .loc 1 997 11 view .LVU378 1107 0034 0023 movs r3, #0 1108 0036 85F83C30 strb r3, [r5, #60] 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1109 .loc 1 997 11 view .LVU379 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1110 .loc 1 999 11 view .LVU380 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1111 .loc 1 999 18 is_stmt 0 view .LVU381 1112 003a 0320 movs r0, #3 1113 003c 14E0 b .L79 1114 .L84: 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1115 .loc 1 988 32 discriminator 1 view .LVU382 1116 003e FFF7FEFF bl HAL_GetTick 1117 .LVL55: 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1118 .loc 1 988 46 discriminator 1 view .LVU383 1119 0042 A0EB0800 sub r0, r0, r8 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1120 .loc 1 988 27 discriminator 1 view .LVU384 1121 0046 B842 cmp r0, r7 ARM GAS /tmp/ccNvkH5l.s page 60 1122 0048 E2D9 bls .L76 1123 004a EAE7 b .L77 1124 .L83: 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1125 .loc 1 1006 3 is_stmt 1 view .LVU385 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1126 .loc 1 1006 6 is_stmt 0 view .LVU386 1127 004c 012E cmp r6, #1 1128 004e 0DD0 beq .L85 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */ 1129 .loc 1 1018 5 is_stmt 1 view .LVU387 1130 0050 2B6C ldr r3, [r5, #64] 1131 0052 43F48063 orr r3, r3, #1024 1132 0056 2B64 str r3, [r5, #64] 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1133 .loc 1 1020 5 view .LVU388 1134 0058 6B6C ldr r3, [r5, #68] 1135 005a 43F00203 orr r3, r3, #2 1136 005e 6B64 str r3, [r5, #68] 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1137 .loc 1 1023 5 view .LVU389 1138 0060 6FF02003 mvn r3, #32 1139 0064 2360 str r3, [r4] 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1140 .loc 1 1027 10 is_stmt 0 view .LVU390 1141 0066 0020 movs r0, #0 1142 .L79: 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1143 .loc 1 1028 1 view .LVU391 1144 0068 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1145 .LVL56: 1146 .L85: 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1147 .loc 1 1009 5 is_stmt 1 view .LVU392 1148 006c 2B6C ldr r3, [r5, #64] 1149 006e 43F48033 orr r3, r3, #65536 1150 0072 2B64 str r3, [r5, #64] 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1151 .loc 1 1012 5 view .LVU393 1152 0074 6FF00103 mvn r3, #1 1153 0078 2360 str r3, [r4] 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1154 .loc 1 1027 10 is_stmt 0 view .LVU394 1155 007a 0020 movs r0, #0 1156 007c F4E7 b .L79 1157 .cfi_endproc 1158 .LFE246: 1160 .section .text.HAL_ADC_Start_IT,"ax",%progbits 1161 .align 1 1162 .global HAL_ADC_Start_IT 1163 .syntax unified 1164 .thumb 1165 .thumb_func 1167 HAL_ADC_Start_IT: 1168 .LVL57: 1169 .LFB247: 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; ARM GAS /tmp/ccNvkH5l.s page 61 1170 .loc 1 1038 1 is_stmt 1 view -0 1171 .cfi_startproc 1172 @ args = 0, pretend = 0, frame = 8 1173 @ frame_needed = 0, uses_anonymous_args = 0 1174 @ link register save eliminated. 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1175 .loc 1 1038 1 is_stmt 0 view .LVU396 1176 0000 82B0 sub sp, sp, #8 1177 .LCFI9: 1178 .cfi_def_cfa_offset 8 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1179 .loc 1 1039 3 is_stmt 1 view .LVU397 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1180 .loc 1 1039 17 is_stmt 0 view .LVU398 1181 0002 0023 movs r3, #0 1182 0004 0193 str r3, [sp, #4] 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1183 .loc 1 1040 3 is_stmt 1 view .LVU399 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 1184 .loc 1 1043 3 view .LVU400 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1185 .loc 1 1044 3 view .LVU401 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1186 .loc 1 1047 3 view .LVU402 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1187 .loc 1 1047 3 view .LVU403 1188 0006 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2 1189 000a 012B cmp r3, #1 1190 000c 00F09080 beq .L98 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1191 .loc 1 1047 3 discriminator 2 view .LVU404 1192 0010 0123 movs r3, #1 1193 0012 80F83C30 strb r3, [r0, #60] 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1194 .loc 1 1047 3 discriminator 2 view .LVU405 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1195 .loc 1 1052 3 view .LVU406 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1196 .loc 1 1052 12 is_stmt 0 view .LVU407 1197 0016 0368 ldr r3, [r0] 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1198 .loc 1 1052 22 view .LVU408 1199 0018 9A68 ldr r2, [r3, #8] 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1200 .loc 1 1052 6 view .LVU409 1201 001a 12F0010F tst r2, #1 1202 001e 13D1 bne .L88 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1203 .loc 1 1055 5 is_stmt 1 view .LVU410 1204 0020 9A68 ldr r2, [r3, #8] 1205 0022 42F00102 orr r2, r2, #1 1206 0026 9A60 str r2, [r3, #8] 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1207 .loc 1 1059 5 view .LVU411 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1208 .loc 1 1059 53 is_stmt 0 view .LVU412 1209 0028 444B ldr r3, .L108 ARM GAS /tmp/ccNvkH5l.s page 62 1210 002a 1B68 ldr r3, [r3] 1211 002c 444A ldr r2, .L108+4 1212 002e A2FB0323 umull r2, r3, r2, r3 1213 0032 9B0C lsrs r3, r3, #18 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1214 .loc 1 1059 34 view .LVU413 1215 0034 03EB4303 add r3, r3, r3, lsl #1 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1216 .loc 1 1059 13 view .LVU414 1217 0038 0193 str r3, [sp, #4] 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1218 .loc 1 1060 5 is_stmt 1 view .LVU415 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1219 .loc 1 1060 11 is_stmt 0 view .LVU416 1220 003a 02E0 b .L89 1221 .L90: 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1222 .loc 1 1062 7 is_stmt 1 view .LVU417 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1223 .loc 1 1062 14 is_stmt 0 view .LVU418 1224 003c 019B ldr r3, [sp, #4] 1225 003e 013B subs r3, r3, #1 1226 0040 0193 str r3, [sp, #4] 1227 .L89: 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1228 .loc 1 1060 20 is_stmt 1 view .LVU419 1229 0042 019B ldr r3, [sp, #4] 1230 0044 002B cmp r3, #0 1231 0046 F9D1 bne .L90 1232 .L88: 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1233 .loc 1 1067 3 view .LVU420 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1234 .loc 1 1067 7 is_stmt 0 view .LVU421 1235 0048 0268 ldr r2, [r0] 1236 004a 9368 ldr r3, [r2, #8] 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1237 .loc 1 1067 6 view .LVU422 1238 004c 13F0010F tst r3, #1 1239 0050 63D0 beq .L91 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 1240 .loc 1 1072 5 is_stmt 1 view .LVU423 1241 0052 036C ldr r3, [r0, #64] 1242 0054 23F4E063 bic r3, r3, #1792 1243 0058 23F00103 bic r3, r3, #1 1244 005c 43F48073 orr r3, r3, #256 1245 0060 0364 str r3, [r0, #64] 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1246 .loc 1 1078 5 view .LVU424 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1247 .loc 1 1078 9 is_stmt 0 view .LVU425 1248 0062 5368 ldr r3, [r2, #4] 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1249 .loc 1 1078 8 view .LVU426 1250 0064 13F4806F tst r3, #1024 1251 0068 05D0 beq .L92 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 63 1252 .loc 1 1080 7 is_stmt 1 view .LVU427 1253 006a 036C ldr r3, [r0, #64] 1254 006c 23F44053 bic r3, r3, #12288 1255 0070 43F48053 orr r3, r3, #4096 1256 0074 0364 str r3, [r0, #64] 1257 .L92: 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1258 .loc 1 1084 5 view .LVU428 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1259 .loc 1 1084 9 is_stmt 0 view .LVU429 1260 0076 036C ldr r3, [r0, #64] 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1261 .loc 1 1084 8 view .LVU430 1262 0078 13F4805F tst r3, #4096 1263 007c 22D0 beq .L93 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1264 .loc 1 1087 7 is_stmt 1 view .LVU431 1265 007e 436C ldr r3, [r0, #68] 1266 0080 23F00603 bic r3, r3, #6 1267 0084 4364 str r3, [r0, #68] 1268 .L94: 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1269 .loc 1 1098 5 view .LVU432 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1270 .loc 1 1098 5 view .LVU433 1271 0086 0023 movs r3, #0 1272 0088 80F83C30 strb r3, [r0, #60] 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1273 .loc 1 1098 5 view .LVU434 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1274 .loc 1 1103 5 view .LVU435 1275 .LVL58: 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1276 .loc 1 1107 5 view .LVU436 1277 008c 6FF02203 mvn r3, #34 1278 0090 1360 str r3, [r2] 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1279 .loc 1 1110 5 view .LVU437 1280 0092 0268 ldr r2, [r0] 1281 0094 5368 ldr r3, [r2, #4] 1282 0096 43F08063 orr r3, r3, #67108864 1283 009a 43F02003 orr r3, r3, #32 1284 009e 5360 str r3, [r2, #4] 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1285 .loc 1 1113 5 view .LVU438 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1286 .loc 1 1113 9 is_stmt 0 view .LVU439 1287 00a0 284B ldr r3, .L108+8 1288 00a2 5B68 ldr r3, [r3, #4] 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1289 .loc 1 1113 8 view .LVU440 1290 00a4 13F01F0F tst r3, #31 1291 00a8 27D1 bne .L95 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1292 .loc 1 1116 7 is_stmt 1 view .LVU441 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1293 .loc 1 1116 16 is_stmt 0 view .LVU442 ARM GAS /tmp/ccNvkH5l.s page 64 1294 00aa 0368 ldr r3, [r0] 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1295 .loc 1 1116 10 view .LVU443 1296 00ac 264A ldr r2, .L108+12 1297 00ae 9342 cmp r3, r2 1298 00b0 11D0 beq .L96 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1299 .loc 1 1116 36 discriminator 1 view .LVU444 1300 00b2 02F58072 add r2, r2, #256 1301 00b6 9342 cmp r3, r2 1302 00b8 07D0 beq .L105 1303 .L97: 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1304 .loc 1 1117 11 view .LVU445 1305 00ba 244A ldr r2, .L108+16 1306 00bc 9342 cmp r3, r2 1307 00be 14D0 beq .L106 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1308 .loc 1 1150 10 view .LVU446 1309 00c0 0020 movs r0, #0 1310 .LVL59: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1311 .loc 1 1150 10 view .LVU447 1312 00c2 33E0 b .L87 1313 .LVL60: 1314 .L93: 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1315 .loc 1 1092 7 is_stmt 1 view .LVU448 1316 00c4 0023 movs r3, #0 1317 00c6 4364 str r3, [r0, #68] 1318 00c8 DDE7 b .L94 1319 .LVL61: 1320 .L105: 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1321 .loc 1 1116 73 is_stmt 0 discriminator 2 view .LVU449 1322 00ca 02F50072 add r2, r2, #512 1323 00ce 5268 ldr r2, [r2, #4] 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1324 .loc 1 1116 65 discriminator 2 view .LVU450 1325 00d0 12F01F0F tst r2, #31 1326 00d4 F1D1 bne .L97 1327 .L96: 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1328 .loc 1 1121 9 is_stmt 1 view .LVU451 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1329 .loc 1 1121 28 is_stmt 0 view .LVU452 1330 00d6 9A68 ldr r2, [r3, #8] 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1331 .loc 1 1121 12 view .LVU453 1332 00d8 12F0405F tst r2, #805306368 1333 00dc 2AD1 bne .L101 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1334 .loc 1 1124 11 is_stmt 1 view .LVU454 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1335 .loc 1 1124 25 is_stmt 0 view .LVU455 1336 00de 9A68 ldr r2, [r3, #8] 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 65 1337 .loc 1 1124 31 view .LVU456 1338 00e0 42F08042 orr r2, r2, #1073741824 1339 00e4 9A60 str r2, [r3, #8] 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1340 .loc 1 1150 10 view .LVU457 1341 00e6 0020 movs r0, #0 1342 .LVL62: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1343 .loc 1 1150 10 view .LVU458 1344 00e8 20E0 b .L87 1345 .LVL63: 1346 .L106: 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1347 .loc 1 1117 48 discriminator 1 view .LVU459 1348 00ea 02F58072 add r2, r2, #256 1349 00ee 5268 ldr r2, [r2, #4] 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1350 .loc 1 1117 40 discriminator 1 view .LVU460 1351 00f0 12F0100F tst r2, #16 1352 00f4 EFD0 beq .L96 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1353 .loc 1 1150 10 view .LVU461 1354 00f6 0020 movs r0, #0 1355 .LVL64: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1356 .loc 1 1150 10 view .LVU462 1357 00f8 18E0 b .L87 1358 .LVL65: 1359 .L95: 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1360 .loc 1 1133 7 is_stmt 1 view .LVU463 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1361 .loc 1 1133 16 is_stmt 0 view .LVU464 1362 00fa 0368 ldr r3, [r0] 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1363 .loc 1 1133 10 view .LVU465 1364 00fc 124A ldr r2, .L108+12 1365 00fe 9342 cmp r3, r2 1366 0100 01D0 beq .L107 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1367 .loc 1 1150 10 view .LVU466 1368 0102 0020 movs r0, #0 1369 .LVL66: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1370 .loc 1 1150 10 view .LVU467 1371 0104 12E0 b .L87 1372 .LVL67: 1373 .L107: 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1374 .loc 1 1133 55 discriminator 1 view .LVU468 1375 0106 9A68 ldr r2, [r3, #8] 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1376 .loc 1 1133 36 discriminator 1 view .LVU469 1377 0108 12F0405F tst r2, #805306368 1378 010c 14D1 bne .L103 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1379 .loc 1 1136 9 is_stmt 1 view .LVU470 ARM GAS /tmp/ccNvkH5l.s page 66 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1380 .loc 1 1136 23 is_stmt 0 view .LVU471 1381 010e 9A68 ldr r2, [r3, #8] 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1382 .loc 1 1136 29 view .LVU472 1383 0110 42F08042 orr r2, r2, #1073741824 1384 0114 9A60 str r2, [r3, #8] 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1385 .loc 1 1150 10 view .LVU473 1386 0116 0020 movs r0, #0 1387 .LVL68: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1388 .loc 1 1150 10 view .LVU474 1389 0118 08E0 b .L87 1390 .LVL69: 1391 .L91: 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1392 .loc 1 1143 5 is_stmt 1 view .LVU475 1393 011a 036C ldr r3, [r0, #64] 1394 011c 43F01003 orr r3, r3, #16 1395 0120 0364 str r3, [r0, #64] 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1396 .loc 1 1146 5 view .LVU476 1397 0122 436C ldr r3, [r0, #68] 1398 0124 43F00103 orr r3, r3, #1 1399 0128 4364 str r3, [r0, #68] 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1400 .loc 1 1150 10 is_stmt 0 view .LVU477 1401 012a 0020 movs r0, #0 1402 .LVL70: 1403 .L87: 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1404 .loc 1 1151 1 view .LVU478 1405 012c 02B0 add sp, sp, #8 1406 .LCFI10: 1407 .cfi_remember_state 1408 .cfi_def_cfa_offset 0 1409 @ sp needed 1410 012e 7047 bx lr 1411 .LVL71: 1412 .L98: 1413 .LCFI11: 1414 .cfi_restore_state 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1415 .loc 1 1047 3 discriminator 1 view .LVU479 1416 0130 0220 movs r0, #2 1417 .LVL72: 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1418 .loc 1 1047 3 discriminator 1 view .LVU480 1419 0132 FBE7 b .L87 1420 .LVL73: 1421 .L101: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1422 .loc 1 1150 10 view .LVU481 1423 0134 0020 movs r0, #0 1424 .LVL74: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 67 1425 .loc 1 1150 10 view .LVU482 1426 0136 F9E7 b .L87 1427 .LVL75: 1428 .L103: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1429 .loc 1 1150 10 view .LVU483 1430 0138 0020 movs r0, #0 1431 .LVL76: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1432 .loc 1 1150 10 view .LVU484 1433 013a F7E7 b .L87 1434 .L109: 1435 .align 2 1436 .L108: 1437 013c 00000000 .word SystemCoreClock 1438 0140 83DE1B43 .word 1125899907 1439 0144 00230140 .word 1073816320 1440 0148 00200140 .word 1073815552 1441 014c 00220140 .word 1073816064 1442 .cfi_endproc 1443 .LFE247: 1445 .section .text.HAL_ADC_Stop_IT,"ax",%progbits 1446 .align 1 1447 .global HAL_ADC_Stop_IT 1448 .syntax unified 1449 .thumb 1450 .thumb_func 1452 HAL_ADC_Stop_IT: 1453 .LVL77: 1454 .LFB248: 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1455 .loc 1 1163 1 is_stmt 1 view -0 1456 .cfi_startproc 1457 @ args = 0, pretend = 0, frame = 0 1458 @ frame_needed = 0, uses_anonymous_args = 0 1459 @ link register save eliminated. 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1460 .loc 1 1165 3 view .LVU486 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1461 .loc 1 1168 3 view .LVU487 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1462 .loc 1 1168 3 view .LVU488 1463 0000 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2 1464 0004 012B cmp r3, #1 1465 0006 1FD0 beq .L113 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1466 .loc 1 1168 3 discriminator 2 view .LVU489 1467 0008 0123 movs r3, #1 1468 000a 80F83C30 strb r3, [r0, #60] 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1469 .loc 1 1168 3 discriminator 2 view .LVU490 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1470 .loc 1 1172 3 view .LVU491 1471 000e 0268 ldr r2, [r0] 1472 0010 9368 ldr r3, [r2, #8] 1473 0012 23F00103 bic r3, r3, #1 1474 0016 9360 str r3, [r2, #8] ARM GAS /tmp/ccNvkH5l.s page 68 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1475 .loc 1 1175 3 view .LVU492 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1476 .loc 1 1175 7 is_stmt 0 view .LVU493 1477 0018 0368 ldr r3, [r0] 1478 001a 9A68 ldr r2, [r3, #8] 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1479 .loc 1 1175 6 view .LVU494 1480 001c 12F0010F tst r2, #1 1481 0020 0DD1 bne .L112 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1482 .loc 1 1178 5 is_stmt 1 view .LVU495 1483 0022 5A68 ldr r2, [r3, #4] 1484 0024 22F08062 bic r2, r2, #67108864 1485 0028 22F02002 bic r2, r2, #32 1486 002c 5A60 str r2, [r3, #4] 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 1487 .loc 1 1181 5 view .LVU496 1488 002e 036C ldr r3, [r0, #64] 1489 0030 23F48853 bic r3, r3, #4352 1490 0034 23F00103 bic r3, r3, #1 1491 0038 43F00103 orr r3, r3, #1 1492 003c 0364 str r3, [r0, #64] 1493 .L112: 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1494 .loc 1 1187 3 view .LVU497 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1495 .loc 1 1187 3 view .LVU498 1496 003e 0023 movs r3, #0 1497 0040 80F83C30 strb r3, [r0, #60] 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1498 .loc 1 1187 3 view .LVU499 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1499 .loc 1 1190 3 view .LVU500 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1500 .loc 1 1190 10 is_stmt 0 view .LVU501 1501 0044 1846 mov r0, r3 1502 .LVL78: 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1503 .loc 1 1190 10 view .LVU502 1504 0046 7047 bx lr 1505 .LVL79: 1506 .L113: 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1507 .loc 1 1168 3 discriminator 1 view .LVU503 1508 0048 0220 movs r0, #2 1509 .LVL80: 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1510 .loc 1 1191 1 view .LVU504 1511 004a 7047 bx lr 1512 .cfi_endproc 1513 .LFE248: 1515 .section .text.HAL_ADC_Start_DMA,"ax",%progbits 1516 .align 1 1517 .global HAL_ADC_Start_DMA 1518 .syntax unified 1519 .thumb ARM GAS /tmp/ccNvkH5l.s page 69 1520 .thumb_func 1522 HAL_ADC_Start_DMA: 1523 .LVL81: 1524 .LFB250: 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1525 .loc 1 1365 1 is_stmt 1 view -0 1526 .cfi_startproc 1527 @ args = 0, pretend = 0, frame = 8 1528 @ frame_needed = 0, uses_anonymous_args = 0 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1529 .loc 1 1365 1 is_stmt 0 view .LVU506 1530 0000 10B5 push {r4, lr} 1531 .LCFI12: 1532 .cfi_def_cfa_offset 8 1533 .cfi_offset 4, -8 1534 .cfi_offset 14, -4 1535 0002 82B0 sub sp, sp, #8 1536 .LCFI13: 1537 .cfi_def_cfa_offset 16 1538 0004 1346 mov r3, r2 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1539 .loc 1 1366 3 is_stmt 1 view .LVU507 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1540 .loc 1 1366 17 is_stmt 0 view .LVU508 1541 0006 0022 movs r2, #0 1542 .LVL82: 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1543 .loc 1 1366 17 view .LVU509 1544 0008 0192 str r2, [sp, #4] 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1545 .loc 1 1367 3 is_stmt 1 view .LVU510 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1546 .loc 1 1368 3 view .LVU511 1547 .LVL83: 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 1548 .loc 1 1370 3 view .LVU512 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1549 .loc 1 1371 3 view .LVU513 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1550 .loc 1 1374 3 view .LVU514 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1551 .loc 1 1374 3 view .LVU515 1552 000a 90F83C20 ldrb r2, [r0, #60] @ zero_extendqisi2 1553 000e 012A cmp r2, #1 1554 0010 00F0A780 beq .L127 1555 0014 0446 mov r4, r0 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1556 .loc 1 1374 3 discriminator 2 view .LVU516 1557 0016 0122 movs r2, #1 1558 0018 80F83C20 strb r2, [r0, #60] 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1559 .loc 1 1374 3 discriminator 2 view .LVU517 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1560 .loc 1 1379 3 view .LVU518 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1561 .loc 1 1379 12 is_stmt 0 view .LVU519 1562 001c 0268 ldr r2, [r0] ARM GAS /tmp/ccNvkH5l.s page 70 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1563 .loc 1 1379 22 view .LVU520 1564 001e 9068 ldr r0, [r2, #8] 1565 .LVL84: 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1566 .loc 1 1379 6 view .LVU521 1567 0020 10F0010F tst r0, #1 1568 0024 13D1 bne .L116 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1569 .loc 1 1382 5 is_stmt 1 view .LVU522 1570 0026 9068 ldr r0, [r2, #8] 1571 0028 40F00100 orr r0, r0, #1 1572 002c 9060 str r0, [r2, #8] 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1573 .loc 1 1386 5 view .LVU523 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1574 .loc 1 1386 53 is_stmt 0 view .LVU524 1575 002e 4E4A ldr r2, .L130 1576 0030 1068 ldr r0, [r2] 1577 0032 4E4A ldr r2, .L130+4 1578 0034 A2FB0020 umull r2, r0, r2, r0 1579 0038 800C lsrs r0, r0, #18 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1580 .loc 1 1386 34 view .LVU525 1581 003a 00EB4000 add r0, r0, r0, lsl #1 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 1582 .loc 1 1386 13 view .LVU526 1583 003e 0190 str r0, [sp, #4] 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1584 .loc 1 1387 5 is_stmt 1 view .LVU527 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1585 .loc 1 1387 11 is_stmt 0 view .LVU528 1586 0040 02E0 b .L117 1587 .L118: 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1588 .loc 1 1389 7 is_stmt 1 view .LVU529 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1589 .loc 1 1389 14 is_stmt 0 view .LVU530 1590 0042 0198 ldr r0, [sp, #4] 1591 0044 0138 subs r0, r0, #1 1592 0046 0190 str r0, [sp, #4] 1593 .L117: 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1594 .loc 1 1387 20 is_stmt 1 view .LVU531 1595 0048 0198 ldr r0, [sp, #4] 1596 004a 0028 cmp r0, #0 1597 004c F9D1 bne .L118 1598 .L116: 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1599 .loc 1 1395 3 view .LVU532 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1600 .loc 1 1395 12 is_stmt 0 view .LVU533 1601 004e 2268 ldr r2, [r4] 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1602 .loc 1 1395 22 view .LVU534 1603 0050 9068 ldr r0, [r2, #8] 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { ARM GAS /tmp/ccNvkH5l.s page 71 1604 .loc 1 1395 6 view .LVU535 1605 0052 10F4807F tst r0, #256 1606 0056 03D0 beq .L119 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1607 .loc 1 1397 5 is_stmt 1 view .LVU536 1608 0058 9068 ldr r0, [r2, #8] 1609 005a 20F48070 bic r0, r0, #256 1610 005e 9060 str r0, [r2, #8] 1611 .L119: 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1612 .loc 1 1401 3 view .LVU537 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1613 .loc 1 1401 7 is_stmt 0 view .LVU538 1614 0060 2268 ldr r2, [r4] 1615 0062 9068 ldr r0, [r2, #8] 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1616 .loc 1 1401 6 view .LVU539 1617 0064 10F0010F tst r0, #1 1618 0068 70D0 beq .L120 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 1619 .loc 1 1406 5 is_stmt 1 view .LVU540 1620 006a 206C ldr r0, [r4, #64] 1621 006c 20F4E060 bic r0, r0, #1792 1622 0070 20F00100 bic r0, r0, #1 1623 0074 40F48070 orr r0, r0, #256 1624 0078 2064 str r0, [r4, #64] 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1625 .loc 1 1412 5 view .LVU541 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1626 .loc 1 1412 9 is_stmt 0 view .LVU542 1627 007a 5268 ldr r2, [r2, #4] 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1628 .loc 1 1412 8 view .LVU543 1629 007c 12F4806F tst r2, #1024 1630 0080 05D0 beq .L121 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1631 .loc 1 1414 7 is_stmt 1 view .LVU544 1632 0082 226C ldr r2, [r4, #64] 1633 0084 22F44052 bic r2, r2, #12288 1634 0088 42F48052 orr r2, r2, #4096 1635 008c 2264 str r2, [r4, #64] 1636 .L121: 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1637 .loc 1 1418 5 view .LVU545 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1638 .loc 1 1418 9 is_stmt 0 view .LVU546 1639 008e 226C ldr r2, [r4, #64] 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1640 .loc 1 1418 8 view .LVU547 1641 0090 12F4805F tst r2, #4096 1642 0094 3BD0 beq .L122 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1643 .loc 1 1421 7 is_stmt 1 view .LVU548 1644 0096 626C ldr r2, [r4, #68] 1645 0098 22F00602 bic r2, r2, #6 1646 009c 6264 str r2, [r4, #68] 1647 .L123: ARM GAS /tmp/ccNvkH5l.s page 72 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1648 .loc 1 1432 5 view .LVU549 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1649 .loc 1 1432 5 view .LVU550 1650 009e 0022 movs r2, #0 1651 00a0 84F83C20 strb r2, [r4, #60] 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1652 .loc 1 1432 5 view .LVU551 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1653 .loc 1 1437 5 view .LVU552 1654 .LVL85: 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1655 .loc 1 1440 5 view .LVU553 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1656 .loc 1 1440 9 is_stmt 0 view .LVU554 1657 00a4 A26B ldr r2, [r4, #56] 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1658 .loc 1 1440 40 view .LVU555 1659 00a6 3248 ldr r0, .L130+8 1660 00a8 D063 str r0, [r2, #60] 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1661 .loc 1 1443 5 is_stmt 1 view .LVU556 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1662 .loc 1 1443 9 is_stmt 0 view .LVU557 1663 00aa A26B ldr r2, [r4, #56] 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1664 .loc 1 1443 44 view .LVU558 1665 00ac 3148 ldr r0, .L130+12 1666 00ae 1064 str r0, [r2, #64] 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1667 .loc 1 1446 5 is_stmt 1 view .LVU559 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1668 .loc 1 1446 9 is_stmt 0 view .LVU560 1669 00b0 A26B ldr r2, [r4, #56] 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1670 .loc 1 1446 41 view .LVU561 1671 00b2 3148 ldr r0, .L130+16 1672 00b4 D064 str r0, [r2, #76] 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1673 .loc 1 1454 5 is_stmt 1 view .LVU562 1674 00b6 2268 ldr r2, [r4] 1675 00b8 6FF02200 mvn r0, #34 1676 00bc 1060 str r0, [r2] 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1677 .loc 1 1457 5 view .LVU563 1678 00be 2068 ldr r0, [r4] 1679 00c0 4268 ldr r2, [r0, #4] 1680 00c2 42F08062 orr r2, r2, #67108864 1681 00c6 4260 str r2, [r0, #4] 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1682 .loc 1 1460 5 view .LVU564 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1683 .loc 1 1460 9 is_stmt 0 view .LVU565 1684 00c8 2068 ldr r0, [r4] 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1685 .loc 1 1460 19 view .LVU566 1686 00ca 8268 ldr r2, [r0, #8] ARM GAS /tmp/ccNvkH5l.s page 73 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1687 .loc 1 1460 25 view .LVU567 1688 00cc 42F48072 orr r2, r2, #256 1689 00d0 8260 str r2, [r0, #8] 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1690 .loc 1 1463 5 is_stmt 1 view .LVU568 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1691 .loc 1 1463 72 is_stmt 0 view .LVU569 1692 00d2 2068 ldr r0, [r4] 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1693 .loc 1 1463 22 view .LVU570 1694 00d4 0A46 mov r2, r1 1695 00d6 00F14C01 add r1, r0, #76 1696 .LVL86: 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1697 .loc 1 1463 22 view .LVU571 1698 00da A06B ldr r0, [r4, #56] 1699 00dc FFF7FEFF bl HAL_DMA_Start_IT 1700 .LVL87: 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1701 .loc 1 1466 5 is_stmt 1 view .LVU572 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1702 .loc 1 1466 9 is_stmt 0 view .LVU573 1703 00e0 264B ldr r3, .L130+20 1704 00e2 5B68 ldr r3, [r3, #4] 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1705 .loc 1 1466 8 view .LVU574 1706 00e4 13F01F0F tst r3, #31 1707 00e8 23D1 bne .L124 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1708 .loc 1 1469 7 is_stmt 1 view .LVU575 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1709 .loc 1 1469 16 is_stmt 0 view .LVU576 1710 00ea 2368 ldr r3, [r4] 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1711 .loc 1 1469 10 view .LVU577 1712 00ec 244A ldr r2, .L130+24 1713 00ee 9342 cmp r3, r2 1714 00f0 16D0 beq .L125 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1715 .loc 1 1469 36 discriminator 1 view .LVU578 1716 00f2 02F58072 add r2, r2, #256 1717 00f6 9342 cmp r3, r2 1718 00f8 0CD0 beq .L129 1719 .L126: 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1720 .loc 1 1470 11 view .LVU579 1721 00fa 224A ldr r2, .L130+28 1722 00fc 9342 cmp r3, r2 1723 00fe 2ED1 bne .L115 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1724 .loc 1 1470 48 discriminator 1 view .LVU580 1725 0100 02F58072 add r2, r2, #256 1726 0104 5268 ldr r2, [r2, #4] 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1727 .loc 1 1470 40 discriminator 1 view .LVU581 1728 0106 12F0100F tst r2, #16 ARM GAS /tmp/ccNvkH5l.s page 74 1729 010a 28D1 bne .L115 1730 010c 08E0 b .L125 1731 .LVL88: 1732 .L122: 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1733 .loc 1 1426 7 is_stmt 1 view .LVU582 1734 010e 0022 movs r2, #0 1735 0110 6264 str r2, [r4, #68] 1736 0112 C4E7 b .L123 1737 .LVL89: 1738 .L129: 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1739 .loc 1 1469 73 is_stmt 0 discriminator 2 view .LVU583 1740 0114 02F50072 add r2, r2, #512 1741 0118 5268 ldr r2, [r2, #4] 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < ADC_CCR_MULTI_4))) 1742 .loc 1 1469 65 discriminator 2 view .LVU584 1743 011a 12F01F0F tst r2, #31 1744 011e ECD1 bne .L126 1745 .L125: 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1746 .loc 1 1474 9 is_stmt 1 view .LVU585 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1747 .loc 1 1474 28 is_stmt 0 view .LVU586 1748 0120 9A68 ldr r2, [r3, #8] 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1749 .loc 1 1474 12 view .LVU587 1750 0122 12F0405F tst r2, #805306368 1751 0126 1AD1 bne .L115 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1752 .loc 1 1477 11 is_stmt 1 view .LVU588 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1753 .loc 1 1477 25 is_stmt 0 view .LVU589 1754 0128 9A68 ldr r2, [r3, #8] 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1755 .loc 1 1477 31 view .LVU590 1756 012a 42F08042 orr r2, r2, #1073741824 1757 012e 9A60 str r2, [r3, #8] 1758 0130 15E0 b .L115 1759 .L124: 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1760 .loc 1 1486 7 is_stmt 1 view .LVU591 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1761 .loc 1 1486 16 is_stmt 0 view .LVU592 1762 0132 2368 ldr r3, [r4] 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1763 .loc 1 1486 10 view .LVU593 1764 0134 124A ldr r2, .L130+24 1765 0136 9342 cmp r3, r2 1766 0138 11D1 bne .L115 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1767 .loc 1 1486 55 discriminator 1 view .LVU594 1768 013a 9A68 ldr r2, [r3, #8] 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1769 .loc 1 1486 36 discriminator 1 view .LVU595 1770 013c 12F0405F tst r2, #805306368 1771 0140 0DD1 bne .L115 ARM GAS /tmp/ccNvkH5l.s page 75 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1772 .loc 1 1489 9 is_stmt 1 view .LVU596 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1773 .loc 1 1489 23 is_stmt 0 view .LVU597 1774 0142 9A68 ldr r2, [r3, #8] 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1775 .loc 1 1489 29 view .LVU598 1776 0144 42F08042 orr r2, r2, #1073741824 1777 0148 9A60 str r2, [r3, #8] 1778 014a 08E0 b .L115 1779 .LVL90: 1780 .L120: 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1781 .loc 1 1496 5 is_stmt 1 view .LVU599 1782 014c 236C ldr r3, [r4, #64] 1783 .LVL91: 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1784 .loc 1 1496 5 is_stmt 0 view .LVU600 1785 014e 43F01003 orr r3, r3, #16 1786 0152 2364 str r3, [r4, #64] 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1787 .loc 1 1499 5 is_stmt 1 view .LVU601 1788 0154 636C ldr r3, [r4, #68] 1789 0156 43F00103 orr r3, r3, #1 1790 015a 6364 str r3, [r4, #68] 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1791 .loc 1 1368 21 is_stmt 0 view .LVU602 1792 015c 0020 movs r0, #0 1793 .LVL92: 1794 .L115: 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1795 .loc 1 1504 1 view .LVU603 1796 015e 02B0 add sp, sp, #8 1797 .LCFI14: 1798 .cfi_remember_state 1799 .cfi_def_cfa_offset 8 1800 @ sp needed 1801 0160 10BD pop {r4, pc} 1802 .LVL93: 1803 .L127: 1804 .LCFI15: 1805 .cfi_restore_state 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1806 .loc 1 1374 3 discriminator 1 view .LVU604 1807 0162 0220 movs r0, #2 1808 .LVL94: 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1809 .loc 1 1374 3 discriminator 1 view .LVU605 1810 0164 FBE7 b .L115 1811 .L131: 1812 0166 00BF .align 2 1813 .L130: 1814 0168 00000000 .word SystemCoreClock 1815 016c 83DE1B43 .word 1125899907 1816 0170 00000000 .word ADC_DMAConvCplt 1817 0174 00000000 .word ADC_DMAHalfConvCplt 1818 0178 00000000 .word ADC_DMAError ARM GAS /tmp/ccNvkH5l.s page 76 1819 017c 00230140 .word 1073816320 1820 0180 00200140 .word 1073815552 1821 0184 00220140 .word 1073816064 1822 .cfi_endproc 1823 .LFE250: 1825 .section .text.HAL_ADC_Stop_DMA,"ax",%progbits 1826 .align 1 1827 .global HAL_ADC_Stop_DMA 1828 .syntax unified 1829 .thumb 1830 .thumb_func 1832 HAL_ADC_Stop_DMA: 1833 .LVL95: 1834 .LFB251: 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1835 .loc 1 1513 1 is_stmt 1 view -0 1836 .cfi_startproc 1837 @ args = 0, pretend = 0, frame = 0 1838 @ frame_needed = 0, uses_anonymous_args = 0 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1839 .loc 1 1514 3 view .LVU607 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1840 .loc 1 1517 3 view .LVU608 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1841 .loc 1 1520 3 view .LVU609 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1842 .loc 1 1520 3 view .LVU610 1843 0000 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2 1844 0004 012B cmp r3, #1 1845 0006 35D0 beq .L136 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1846 .loc 1 1513 1 is_stmt 0 view .LVU611 1847 0008 10B5 push {r4, lr} 1848 .LCFI16: 1849 .cfi_def_cfa_offset 8 1850 .cfi_offset 4, -8 1851 .cfi_offset 14, -4 1852 000a 0446 mov r4, r0 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1853 .loc 1 1520 3 is_stmt 1 discriminator 2 view .LVU612 1854 000c 0123 movs r3, #1 1855 000e 80F83C30 strb r3, [r0, #60] 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1856 .loc 1 1520 3 discriminator 2 view .LVU613 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1857 .loc 1 1524 3 view .LVU614 1858 0012 0268 ldr r2, [r0] 1859 0014 9368 ldr r3, [r2, #8] 1860 0016 23F00103 bic r3, r3, #1 1861 001a 9360 str r3, [r2, #8] 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1862 .loc 1 1527 3 view .LVU615 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1863 .loc 1 1527 7 is_stmt 0 view .LVU616 1864 001c 0368 ldr r3, [r0] 1865 001e 9A68 ldr r2, [r3, #8] 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { ARM GAS /tmp/ccNvkH5l.s page 77 1866 .loc 1 1527 6 view .LVU617 1867 0020 12F0010F tst r2, #1 1868 0024 21D1 bne .L137 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1869 .loc 1 1530 5 is_stmt 1 view .LVU618 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1870 .loc 1 1530 19 is_stmt 0 view .LVU619 1871 0026 9A68 ldr r2, [r3, #8] 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1872 .loc 1 1530 25 view .LVU620 1873 0028 22F48072 bic r2, r2, #256 1874 002c 9A60 str r2, [r3, #8] 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1875 .loc 1 1534 5 is_stmt 1 view .LVU621 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1876 .loc 1 1534 13 is_stmt 0 view .LVU622 1877 002e 806B ldr r0, [r0, #56] 1878 .LVL96: 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1879 .loc 1 1534 25 view .LVU623 1880 0030 90F83530 ldrb r3, [r0, #53] @ zero_extendqisi2 1881 0034 DBB2 uxtb r3, r3 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1882 .loc 1 1534 8 view .LVU624 1883 0036 022B cmp r3, #2 1884 0038 0ED0 beq .L143 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1885 .loc 1 1514 21 view .LVU625 1886 003a 0020 movs r0, #0 1887 .LVL97: 1888 .L135: 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1889 .loc 1 1547 5 is_stmt 1 view .LVU626 1890 003c 2268 ldr r2, [r4] 1891 003e 5368 ldr r3, [r2, #4] 1892 0040 23F08063 bic r3, r3, #67108864 1893 0044 5360 str r3, [r2, #4] 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 1894 .loc 1 1550 5 view .LVU627 1895 0046 236C ldr r3, [r4, #64] 1896 0048 23F48853 bic r3, r3, #4352 1897 004c 23F00103 bic r3, r3, #1 1898 0050 43F00103 orr r3, r3, #1 1899 0054 2364 str r3, [r4, #64] 1900 0056 09E0 b .L134 1901 .LVL98: 1902 .L143: 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1903 .loc 1 1536 7 view .LVU628 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1904 .loc 1 1536 24 is_stmt 0 view .LVU629 1905 0058 FFF7FEFF bl HAL_DMA_Abort 1906 .LVL99: 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1907 .loc 1 1539 7 is_stmt 1 view .LVU630 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1908 .loc 1 1539 10 is_stmt 0 view .LVU631 ARM GAS /tmp/ccNvkH5l.s page 78 1909 005c 0028 cmp r0, #0 1910 005e EDD0 beq .L135 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1911 .loc 1 1542 9 is_stmt 1 view .LVU632 1912 0060 236C ldr r3, [r4, #64] 1913 0062 43F04003 orr r3, r3, #64 1914 0066 2364 str r3, [r4, #64] 1915 0068 E8E7 b .L135 1916 .LVL100: 1917 .L137: 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1918 .loc 1 1514 21 is_stmt 0 view .LVU633 1919 006a 0020 movs r0, #0 1920 .LVL101: 1921 .L134: 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1922 .loc 1 1556 3 is_stmt 1 view .LVU634 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1923 .loc 1 1556 3 view .LVU635 1924 006c 0023 movs r3, #0 1925 006e 84F83C30 strb r3, [r4, #60] 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1926 .loc 1 1556 3 view .LVU636 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1927 .loc 1 1559 3 view .LVU637 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1928 .loc 1 1560 1 is_stmt 0 view .LVU638 1929 0072 10BD pop {r4, pc} 1930 .LVL102: 1931 .L136: 1932 .LCFI17: 1933 .cfi_def_cfa_offset 0 1934 .cfi_restore 4 1935 .cfi_restore 14 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1936 .loc 1 1520 3 discriminator 1 view .LVU639 1937 0074 0220 movs r0, #2 1938 .LVL103: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1939 .loc 1 1560 1 view .LVU640 1940 0076 7047 bx lr 1941 .cfi_endproc 1942 .LFE251: 1944 .section .text.HAL_ADC_GetValue,"ax",%progbits 1945 .align 1 1946 .global HAL_ADC_GetValue 1947 .syntax unified 1948 .thumb 1949 .thumb_func 1951 HAL_ADC_GetValue: 1952 .LVL104: 1953 .LFB252: 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return the selected ADC converted value */ 1954 .loc 1 1569 1 is_stmt 1 view -0 1955 .cfi_startproc 1956 @ args = 0, pretend = 0, frame = 0 1957 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccNvkH5l.s page 79 1958 @ link register save eliminated. 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1959 .loc 1 1571 3 view .LVU642 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1960 .loc 1 1571 14 is_stmt 0 view .LVU643 1961 0000 0368 ldr r3, [r0] 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1962 .loc 1 1571 24 view .LVU644 1963 0002 D86C ldr r0, [r3, #76] 1964 .LVL105: 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1965 .loc 1 1572 1 view .LVU645 1966 0004 7047 bx lr 1967 .cfi_endproc 1968 .LFE252: 1970 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits 1971 .align 1 1972 .weak HAL_ADC_ConvCpltCallback 1973 .syntax unified 1974 .thumb 1975 .thumb_func 1977 HAL_ADC_ConvCpltCallback: 1978 .LVL106: 1979 .LFB253: 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1980 .loc 1 1581 1 is_stmt 1 view -0 1981 .cfi_startproc 1982 @ args = 0, pretend = 0, frame = 0 1983 @ frame_needed = 0, uses_anonymous_args = 0 1984 @ link register save eliminated. 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1985 .loc 1 1583 3 view .LVU647 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1986 .loc 1 1587 1 is_stmt 0 view .LVU648 1987 0000 7047 bx lr 1988 .cfi_endproc 1989 .LFE253: 1991 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits 1992 .align 1 1993 .weak HAL_ADC_ConvHalfCpltCallback 1994 .syntax unified 1995 .thumb 1996 .thumb_func 1998 HAL_ADC_ConvHalfCpltCallback: 1999 .LVL107: 2000 .LFB254: 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 2001 .loc 1 1596 1 is_stmt 1 view -0 2002 .cfi_startproc 2003 @ args = 0, pretend = 0, frame = 0 2004 @ frame_needed = 0, uses_anonymous_args = 0 2005 @ link register save eliminated. 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 2006 .loc 1 1598 3 view .LVU650 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2007 .loc 1 1602 1 is_stmt 0 view .LVU651 2008 0000 7047 bx lr ARM GAS /tmp/ccNvkH5l.s page 80 2009 .cfi_endproc 2010 .LFE254: 2012 .section .text.ADC_DMAHalfConvCplt,"ax",%progbits 2013 .align 1 2014 .syntax unified 2015 .thumb 2016 .thumb_func 2018 ADC_DMAHalfConvCplt: 2019 .LVL108: 2020 .LFB263: 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA transfer complete callback. 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module. 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma) 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine */ 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */ 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */ 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */ 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */ 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* HAL_ADC_Start_IT(), but is not disabled here because can be used */ 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by overrun IRQ process below. */ 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback(hadc); ARM GAS /tmp/ccNvkH5l.s page 81 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc); 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else /* DMA and-or internal error occurred */ 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Call HAL ADC Error Callback function */ 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc); 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Call DMA error callback */ 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback(hdma); 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA half transfer complete callback. 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module. 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma) 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2021 .loc 1 2064 1 is_stmt 1 view -0 2022 .cfi_startproc 2023 @ args = 0, pretend = 0, frame = 0 2024 @ frame_needed = 0, uses_anonymous_args = 0 2025 .loc 1 2064 1 is_stmt 0 view .LVU653 2026 0000 08B5 push {r3, lr} 2027 .LCFI18: 2028 .cfi_def_cfa_offset 8 2029 .cfi_offset 3, -8 2030 .cfi_offset 14, -4 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 2031 .loc 1 2065 3 is_stmt 1 view .LVU654 2032 .LVL109: 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Half conversion callback */ 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback(hadc); 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvHalfCpltCallback(hadc); 2033 .loc 1 2070 3 view .LVU655 2034 0002 806B ldr r0, [r0, #56] 2035 .LVL110: 2036 .loc 1 2070 3 is_stmt 0 view .LVU656 2037 0004 FFF7FEFF bl HAL_ADC_ConvHalfCpltCallback 2038 .LVL111: 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS /tmp/ccNvkH5l.s page 82 2039 .loc 1 2072 1 view .LVU657 2040 0008 08BD pop {r3, pc} 2041 .cfi_endproc 2042 .LFE263: 2044 .section .text.HAL_ADC_LevelOutOfWindowCallback,"ax",%progbits 2045 .align 1 2046 .weak HAL_ADC_LevelOutOfWindowCallback 2047 .syntax unified 2048 .thumb 2049 .thumb_func 2051 HAL_ADC_LevelOutOfWindowCallback: 2052 .LVL112: 2053 .LFB255: 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 2054 .loc 1 1611 1 is_stmt 1 view -0 2055 .cfi_startproc 2056 @ args = 0, pretend = 0, frame = 0 2057 @ frame_needed = 0, uses_anonymous_args = 0 2058 @ link register save eliminated. 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 2059 .loc 1 1613 3 view .LVU659 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2060 .loc 1 1617 1 is_stmt 0 view .LVU660 2061 0000 7047 bx lr 2062 .cfi_endproc 2063 .LFE255: 2065 .section .text.HAL_ADC_ErrorCallback,"ax",%progbits 2066 .align 1 2067 .weak HAL_ADC_ErrorCallback 2068 .syntax unified 2069 .thumb 2070 .thumb_func 2072 HAL_ADC_ErrorCallback: 2073 .LVL113: 2074 .LFB256: 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 2075 .loc 1 1632 1 is_stmt 1 view -0 2076 .cfi_startproc 2077 @ args = 0, pretend = 0, frame = 0 2078 @ frame_needed = 0, uses_anonymous_args = 0 2079 @ link register save eliminated. 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 2080 .loc 1 1634 3 view .LVU662 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2081 .loc 1 1638 1 is_stmt 0 view .LVU663 2082 0000 7047 bx lr 2083 .cfi_endproc 2084 .LFE256: 2086 .section .text.HAL_ADC_IRQHandler,"ax",%progbits 2087 .align 1 2088 .global HAL_ADC_IRQHandler 2089 .syntax unified 2090 .thumb 2091 .thumb_func 2093 HAL_ADC_IRQHandler: 2094 .LVL114: 2095 .LFB249: ARM GAS /tmp/ccNvkH5l.s page 83 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp1 = 0U, tmp2 = 0U; 2096 .loc 1 1200 1 is_stmt 1 view -0 2097 .cfi_startproc 2098 @ args = 0, pretend = 0, frame = 0 2099 @ frame_needed = 0, uses_anonymous_args = 0 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp1 = 0U, tmp2 = 0U; 2100 .loc 1 1200 1 is_stmt 0 view .LVU665 2101 0000 70B5 push {r4, r5, r6, lr} 2102 .LCFI19: 2103 .cfi_def_cfa_offset 16 2104 .cfi_offset 4, -16 2105 .cfi_offset 5, -12 2106 .cfi_offset 6, -8 2107 .cfi_offset 14, -4 2108 0002 0446 mov r4, r0 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2109 .loc 1 1201 3 is_stmt 1 view .LVU666 2110 .LVL115: 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp_cr1 = hadc->Instance->CR1; 2111 .loc 1 1203 3 view .LVU667 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp_cr1 = hadc->Instance->CR1; 2112 .loc 1 1203 25 is_stmt 0 view .LVU668 2113 0004 0368 ldr r3, [r0] 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp_cr1 = hadc->Instance->CR1; 2114 .loc 1 1203 12 view .LVU669 2115 0006 1E68 ldr r6, [r3] 2116 .LVL116: 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2117 .loc 1 1204 3 is_stmt 1 view .LVU670 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2118 .loc 1 1204 12 is_stmt 0 view .LVU671 2119 0008 5D68 ldr r5, [r3, #4] 2120 .LVL117: 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion)); 2121 .loc 1 1207 3 is_stmt 1 view .LVU672 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection)); 2122 .loc 1 1208 3 view .LVU673 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2123 .loc 1 1209 3 view .LVU674 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_EOC; 2124 .loc 1 1211 3 view .LVU675 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for regular channels */ 2125 .loc 1 1212 3 view .LVU676 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2126 .loc 1 1214 3 view .LVU677 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2127 .loc 1 1214 6 is_stmt 0 view .LVU678 2128 000a 16F0020F tst r6, #2 2129 000e 2FD0 beq .L152 2130 0010 05F02002 and r2, r5, #32 2131 .LVL118: 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2132 .loc 1 1214 12 discriminator 1 view .LVU679 2133 0014 62B3 cbz r2, .L152 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2134 .loc 1 1217 5 is_stmt 1 view .LVU680 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { ARM GAS /tmp/ccNvkH5l.s page 84 2135 .loc 1 1217 9 is_stmt 0 view .LVU681 2136 0016 026C ldr r2, [r0, #64] 2137 .LVL119: 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2138 .loc 1 1217 8 view .LVU682 2139 0018 12F0100F tst r2, #16 2140 001c 03D1 bne .L153 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2141 .loc 1 1220 7 is_stmt 1 view .LVU683 2142 001e 026C ldr r2, [r0, #64] 2143 0020 42F40072 orr r2, r2, #512 2144 0024 0264 str r2, [r0, #64] 2145 .L153: 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2146 .loc 1 1229 5 view .LVU684 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2147 .loc 1 1229 9 is_stmt 0 view .LVU685 2148 0026 9A68 ldr r2, [r3, #8] 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2149 .loc 1 1229 8 view .LVU686 2150 0028 12F0405F tst r2, #805306368 2151 002c 19D1 bne .L154 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 2152 .loc 1 1230 20 view .LVU687 2153 002e 227E ldrb r2, [r4, #24] @ zero_extendqisi2 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2154 .loc 1 1229 63 discriminator 1 view .LVU688 2155 0030 BAB9 cbnz r2, .L154 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 2156 .loc 1 1231 10 view .LVU689 2157 0032 DA6A ldr r2, [r3, #44] 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 2158 .loc 1 1230 63 view .LVU690 2159 0034 12F4700F tst r2, #15728640 2160 0038 03D0 beq .L155 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2161 .loc 1 1232 10 view .LVU691 2162 003a 9A68 ldr r2, [r3, #8] 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 2163 .loc 1 1231 59 view .LVU692 2164 003c 12F4806F tst r2, #1024 2165 0040 0FD1 bne .L154 2166 .L155: 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2167 .loc 1 1238 7 is_stmt 1 view .LVU693 2168 0042 5A68 ldr r2, [r3, #4] 2169 0044 22F02002 bic r2, r2, #32 2170 0048 5A60 str r2, [r3, #4] 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2171 .loc 1 1241 7 view .LVU694 2172 004a 236C ldr r3, [r4, #64] 2173 004c 23F48073 bic r3, r3, #256 2174 0050 2364 str r3, [r4, #64] 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2175 .loc 1 1243 7 view .LVU695 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2176 .loc 1 1243 11 is_stmt 0 view .LVU696 ARM GAS /tmp/ccNvkH5l.s page 85 2177 0052 236C ldr r3, [r4, #64] 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2178 .loc 1 1243 10 view .LVU697 2179 0054 13F4805F tst r3, #4096 2180 0058 03D1 bne .L154 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2181 .loc 1 1245 9 is_stmt 1 view .LVU698 2182 005a 236C ldr r3, [r4, #64] 2183 005c 43F00103 orr r3, r3, #1 2184 0060 2364 str r3, [r4, #64] 2185 .L154: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2186 .loc 1 1253 5 view .LVU699 2187 0062 2046 mov r0, r4 2188 .LVL120: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2189 .loc 1 1253 5 is_stmt 0 view .LVU700 2190 0064 FFF7FEFF bl HAL_ADC_ConvCpltCallback 2191 .LVL121: 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2192 .loc 1 1257 5 is_stmt 1 view .LVU701 2193 0068 2368 ldr r3, [r4] 2194 006a 6FF01202 mvn r2, #18 2195 006e 1A60 str r2, [r3] 2196 .L152: 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_JEOC; 2197 .loc 1 1260 3 view .LVU702 2198 .LVL122: 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for injected channels */ 2199 .loc 1 1261 3 view .LVU703 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for injected channels */ 2200 .loc 1 1261 8 is_stmt 0 view .LVU704 2201 0070 05F08003 and r3, r5, #128 2202 .LVL123: 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2203 .loc 1 1263 3 is_stmt 1 view .LVU705 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2204 .loc 1 1263 6 is_stmt 0 view .LVU706 2205 0074 16F0040F tst r6, #4 2206 0078 37D0 beq .L156 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2207 .loc 1 1263 12 discriminator 1 view .LVU707 2208 007a 002B cmp r3, #0 2209 007c 35D0 beq .L156 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2210 .loc 1 1266 5 is_stmt 1 view .LVU708 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2211 .loc 1 1266 9 is_stmt 0 view .LVU709 2212 007e 236C ldr r3, [r4, #64] 2213 .LVL124: 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2214 .loc 1 1266 8 view .LVU710 2215 0080 13F0100F tst r3, #16 2216 0084 03D1 bne .L157 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2217 .loc 1 1269 7 is_stmt 1 view .LVU711 2218 0086 236C ldr r3, [r4, #64] ARM GAS /tmp/ccNvkH5l.s page 86 2219 0088 43F40053 orr r3, r3, #8192 2220 008c 2364 str r3, [r4, #64] 2221 .L157: 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 2222 .loc 1 1276 5 view .LVU712 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 2223 .loc 1 1276 9 is_stmt 0 view .LVU713 2224 008e 2368 ldr r3, [r4] 2225 0090 9A68 ldr r2, [r3, #8] 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 2226 .loc 1 1276 8 view .LVU714 2227 0092 12F4401F tst r2, #3145728 2228 0096 21D1 bne .L158 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS)) && 2229 .loc 1 1277 10 view .LVU715 2230 0098 9A6B ldr r2, [r3, #56] 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 2231 .loc 1 1276 65 discriminator 1 view .LVU716 2232 009a 12F4401F tst r2, #3145728 2233 009e 03D0 beq .L159 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && 2234 .loc 1 1278 10 view .LVU717 2235 00a0 9A68 ldr r2, [r3, #8] 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS)) && 2236 .loc 1 1277 61 view .LVU718 2237 00a2 12F4806F tst r2, #1024 2238 00a6 19D1 bne .L158 2239 .L159: 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 2240 .loc 1 1279 10 view .LVU719 2241 00a8 5A68 ldr r2, [r3, #4] 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && 2242 .loc 1 1278 61 view .LVU720 2243 00aa 12F4806F tst r2, #1024 2244 00ae 15D1 bne .L158 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE)))) 2245 .loc 1 1280 11 view .LVU721 2246 00b0 9A68 ldr r2, [r3, #8] 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 2247 .loc 1 1279 61 view .LVU722 2248 00b2 12F0405F tst r2, #805306368 2249 00b6 11D1 bne .L158 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2250 .loc 1 1281 22 view .LVU723 2251 00b8 227E ldrb r2, [r4, #24] @ zero_extendqisi2 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE)))) 2252 .loc 1 1280 53 view .LVU724 2253 00ba 7AB9 cbnz r2, .L158 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2254 .loc 1 1284 7 is_stmt 1 view .LVU725 2255 00bc 5A68 ldr r2, [r3, #4] 2256 00be 22F08002 bic r2, r2, #128 2257 00c2 5A60 str r2, [r3, #4] 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2258 .loc 1 1287 7 view .LVU726 2259 00c4 236C ldr r3, [r4, #64] 2260 00c6 23F48053 bic r3, r3, #4096 ARM GAS /tmp/ccNvkH5l.s page 87 2261 00ca 2364 str r3, [r4, #64] 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2262 .loc 1 1289 7 view .LVU727 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2263 .loc 1 1289 11 is_stmt 0 view .LVU728 2264 00cc 236C ldr r3, [r4, #64] 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2265 .loc 1 1289 10 view .LVU729 2266 00ce 13F4807F tst r3, #256 2267 00d2 03D1 bne .L158 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2268 .loc 1 1291 9 is_stmt 1 view .LVU730 2269 00d4 236C ldr r3, [r4, #64] 2270 00d6 43F00103 orr r3, r3, #1 2271 00da 2364 str r3, [r4, #64] 2272 .L158: 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2273 .loc 1 1300 5 view .LVU731 2274 00dc 2046 mov r0, r4 2275 00de FFF7FEFF bl HAL_ADCEx_InjectedConvCpltCallback 2276 .LVL125: 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2277 .loc 1 1304 5 view .LVU732 2278 00e2 2368 ldr r3, [r4] 2279 00e4 6FF00C02 mvn r2, #12 2280 00e8 1A60 str r2, [r3] 2281 .L156: 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_AWD; 2282 .loc 1 1307 3 view .LVU733 2283 .LVL126: 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Analog watchdog flag */ 2284 .loc 1 1308 3 view .LVU734 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Analog watchdog flag */ 2285 .loc 1 1308 8 is_stmt 0 view .LVU735 2286 00ea 05F04003 and r3, r5, #64 2287 .LVL127: 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2288 .loc 1 1310 3 is_stmt 1 view .LVU736 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2289 .loc 1 1310 6 is_stmt 0 view .LVU737 2290 00ee 16F0010F tst r6, #1 2291 00f2 05D0 beq .L160 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2292 .loc 1 1310 12 discriminator 1 view .LVU738 2293 00f4 23B1 cbz r3, .L160 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2294 .loc 1 1312 5 is_stmt 1 view .LVU739 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2295 .loc 1 1312 9 is_stmt 0 view .LVU740 2296 00f6 2368 ldr r3, [r4] 2297 .LVL128: 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2298 .loc 1 1312 9 view .LVU741 2299 00f8 1B68 ldr r3, [r3] 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2300 .loc 1 1312 8 view .LVU742 2301 00fa 13F0010F tst r3, #1 ARM GAS /tmp/ccNvkH5l.s page 88 2302 00fe 06D1 bne .L163 2303 .L160: 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_OVR; 2304 .loc 1 1329 3 is_stmt 1 view .LVU743 2305 .LVL129: 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Overrun flag */ 2306 .loc 1 1330 3 view .LVU744 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Overrun flag */ 2307 .loc 1 1330 8 is_stmt 0 view .LVU745 2308 0100 05F08065 and r5, r5, #67108864 2309 .LVL130: 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2310 .loc 1 1332 3 is_stmt 1 view .LVU746 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2311 .loc 1 1332 6 is_stmt 0 view .LVU747 2312 0104 16F0200F tst r6, #32 2313 0108 00D0 beq .L151 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2314 .loc 1 1332 12 discriminator 1 view .LVU748 2315 010a 65B9 cbnz r5, .L164 2316 .LVL131: 2317 .L151: 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2318 .loc 1 1354 1 view .LVU749 2319 010c 70BD pop {r4, r5, r6, pc} 2320 .LVL132: 2321 .L163: 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2322 .loc 1 1315 7 is_stmt 1 view .LVU750 2323 010e 236C ldr r3, [r4, #64] 2324 0110 43F48033 orr r3, r3, #65536 2325 0114 2364 str r3, [r4, #64] 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2326 .loc 1 1321 7 view .LVU751 2327 0116 2046 mov r0, r4 2328 0118 FFF7FEFF bl HAL_ADC_LevelOutOfWindowCallback 2329 .LVL133: 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2330 .loc 1 1325 7 view .LVU752 2331 011c 2368 ldr r3, [r4] 2332 011e 6FF00102 mvn r2, #1 2333 0122 1A60 str r2, [r3] 2334 0124 ECE7 b .L160 2335 .LVL134: 2336 .L164: 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2337 .loc 1 1339 5 view .LVU753 2338 0126 636C ldr r3, [r4, #68] 2339 0128 43F00203 orr r3, r3, #2 2340 012c 6364 str r3, [r4, #68] 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2341 .loc 1 1342 5 view .LVU754 2342 012e 2368 ldr r3, [r4] 2343 0130 6FF02005 mvn r5, #32 2344 .LVL135: 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2345 .loc 1 1342 5 is_stmt 0 view .LVU755 ARM GAS /tmp/ccNvkH5l.s page 89 2346 0134 1D60 str r5, [r3] 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2347 .loc 1 1348 5 is_stmt 1 view .LVU756 2348 0136 2046 mov r0, r4 2349 0138 FFF7FEFF bl HAL_ADC_ErrorCallback 2350 .LVL136: 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2351 .loc 1 1352 5 view .LVU757 2352 013c 2368 ldr r3, [r4] 2353 013e 1D60 str r5, [r3] 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2354 .loc 1 1354 1 is_stmt 0 view .LVU758 2355 0140 E4E7 b .L151 2356 .cfi_endproc 2357 .LFE249: 2359 .section .text.ADC_DMAError,"ax",%progbits 2360 .align 1 2361 .syntax unified 2362 .thumb 2363 .thumb_func 2365 ADC_DMAError: 2366 .LVL137: 2367 .LFB264: 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA error callback 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module. 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma) 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2368 .loc 1 2081 1 is_stmt 1 view -0 2369 .cfi_startproc 2370 @ args = 0, pretend = 0, frame = 0 2371 @ frame_needed = 0, uses_anonymous_args = 0 2372 .loc 1 2081 1 is_stmt 0 view .LVU760 2373 0000 08B5 push {r3, lr} 2374 .LCFI20: 2375 .cfi_def_cfa_offset 8 2376 .cfi_offset 3, -8 2377 .cfi_offset 14, -4 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 2378 .loc 1 2082 3 is_stmt 1 view .LVU761 2379 .loc 1 2082 22 is_stmt 0 view .LVU762 2380 0002 806B ldr r0, [r0, #56] 2381 .LVL138: 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_ERROR_DMA; 2382 .loc 1 2083 3 is_stmt 1 view .LVU763 2383 .loc 1 2083 15 is_stmt 0 view .LVU764 2384 0004 4023 movs r3, #64 2385 0006 0364 str r3, [r0, #64] 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to DMA error */ 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_DMA; 2386 .loc 1 2085 3 is_stmt 1 view .LVU765 2387 .loc 1 2085 7 is_stmt 0 view .LVU766 2388 0008 436C ldr r3, [r0, #68] ARM GAS /tmp/ccNvkH5l.s page 90 2389 .loc 1 2085 19 view .LVU767 2390 000a 43F00403 orr r3, r3, #4 2391 000e 4364 str r3, [r0, #68] 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Error callback */ 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc); 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 2392 .loc 1 2090 3 is_stmt 1 view .LVU768 2393 0010 FFF7FEFF bl HAL_ADC_ErrorCallback 2394 .LVL139: 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2395 .loc 1 2092 1 is_stmt 0 view .LVU769 2396 0014 08BD pop {r3, pc} 2397 .cfi_endproc 2398 .LFE264: 2400 .section .text.ADC_DMAConvCplt,"ax",%progbits 2401 .align 1 2402 .syntax unified 2403 .thumb 2404 .thumb_func 2406 ADC_DMAConvCplt: 2407 .LVL140: 2408 .LFB262: 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 2409 .loc 1 1995 1 is_stmt 1 view -0 2410 .cfi_startproc 2411 @ args = 0, pretend = 0, frame = 0 2412 @ frame_needed = 0, uses_anonymous_args = 0 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 2413 .loc 1 1995 1 is_stmt 0 view .LVU771 2414 0000 08B5 push {r3, lr} 2415 .LCFI21: 2416 .cfi_def_cfa_offset 8 2417 .cfi_offset 3, -8 2418 .cfi_offset 14, -4 2419 0002 0346 mov r3, r0 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2420 .loc 1 1997 3 is_stmt 1 view .LVU772 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2421 .loc 1 1997 22 is_stmt 0 view .LVU773 2422 0004 806B ldr r0, [r0, #56] 2423 .LVL141: 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2424 .loc 1 2000 3 is_stmt 1 view .LVU774 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2425 .loc 1 2000 7 is_stmt 0 view .LVU775 2426 0006 026C ldr r2, [r0, #64] 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2427 .loc 1 2000 6 view .LVU776 2428 0008 12F0500F tst r2, #80 2429 000c 25D1 bne .L168 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2430 .loc 1 2003 5 is_stmt 1 view .LVU777 2431 000e 036C ldr r3, [r0, #64] 2432 .LVL142: ARM GAS /tmp/ccNvkH5l.s page 91 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2433 .loc 1 2003 5 is_stmt 0 view .LVU778 2434 0010 43F40073 orr r3, r3, #512 2435 0014 0364 str r3, [r0, #64] 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2436 .loc 1 2011 5 is_stmt 1 view .LVU779 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2437 .loc 1 2011 9 is_stmt 0 view .LVU780 2438 0016 0368 ldr r3, [r0] 2439 0018 9A68 ldr r2, [r3, #8] 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2440 .loc 1 2011 8 view .LVU781 2441 001a 12F0405F tst r2, #805306368 2442 001e 19D1 bne .L169 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 2443 .loc 1 2012 20 view .LVU782 2444 0020 027E ldrb r2, [r0, #24] @ zero_extendqisi2 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2445 .loc 1 2011 63 discriminator 1 view .LVU783 2446 0022 BAB9 cbnz r2, .L169 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 2447 .loc 1 2013 10 view .LVU784 2448 0024 DA6A ldr r2, [r3, #44] 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 2449 .loc 1 2012 63 view .LVU785 2450 0026 12F4700F tst r2, #15728640 2451 002a 03D0 beq .L170 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2452 .loc 1 2014 10 view .LVU786 2453 002c 9A68 ldr r2, [r3, #8] 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS))) 2454 .loc 1 2013 59 view .LVU787 2455 002e 12F4806F tst r2, #1024 2456 0032 0FD1 bne .L169 2457 .L170: 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2458 .loc 1 2020 7 is_stmt 1 view .LVU788 2459 0034 5A68 ldr r2, [r3, #4] 2460 0036 22F02002 bic r2, r2, #32 2461 003a 5A60 str r2, [r3, #4] 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2462 .loc 1 2023 7 view .LVU789 2463 003c 036C ldr r3, [r0, #64] 2464 003e 23F48073 bic r3, r3, #256 2465 0042 0364 str r3, [r0, #64] 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2466 .loc 1 2025 7 view .LVU790 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2467 .loc 1 2025 11 is_stmt 0 view .LVU791 2468 0044 036C ldr r3, [r0, #64] 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2469 .loc 1 2025 10 view .LVU792 2470 0046 13F4805F tst r3, #4096 2471 004a 03D1 bne .L169 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2472 .loc 1 2027 9 is_stmt 1 view .LVU793 2473 004c 036C ldr r3, [r0, #64] ARM GAS /tmp/ccNvkH5l.s page 92 2474 004e 43F00103 orr r3, r3, #1 2475 0052 0364 str r3, [r0, #64] 2476 .L169: 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2477 .loc 1 2035 5 view .LVU794 2478 0054 FFF7FEFF bl HAL_ADC_ConvCpltCallback 2479 .LVL143: 2480 .L167: 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2481 .loc 1 2055 1 is_stmt 0 view .LVU795 2482 0058 08BD pop {r3, pc} 2483 .LVL144: 2484 .L168: 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2485 .loc 1 2040 5 is_stmt 1 view .LVU796 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2486 .loc 1 2040 14 is_stmt 0 view .LVU797 2487 005a 026C ldr r2, [r0, #64] 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2488 .loc 1 2040 8 view .LVU798 2489 005c 12F0100F tst r2, #16 2490 0060 04D1 bne .L174 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2491 .loc 1 2052 7 is_stmt 1 view .LVU799 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2492 .loc 1 2052 11 is_stmt 0 view .LVU800 2493 0062 826B ldr r2, [r0, #56] 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2494 .loc 1 2052 23 view .LVU801 2495 0064 D26C ldr r2, [r2, #76] 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2496 .loc 1 2052 7 view .LVU802 2497 0066 1846 mov r0, r3 2498 .LVL145: 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2499 .loc 1 2052 7 view .LVU803 2500 0068 9047 blx r2 2501 .LVL146: 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2502 .loc 1 2055 1 view .LVU804 2503 006a F5E7 b .L167 2504 .LVL147: 2505 .L174: 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2506 .loc 1 2046 7 is_stmt 1 view .LVU805 2507 006c FFF7FEFF bl HAL_ADC_ErrorCallback 2508 .LVL148: 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2509 .loc 1 2046 7 is_stmt 0 view .LVU806 2510 0070 F2E7 b .L167 2511 .cfi_endproc 2512 .LFE262: 2514 .section .text.HAL_ADC_ConfigChannel,"ax",%progbits 2515 .align 1 2516 .global HAL_ADC_ConfigChannel 2517 .syntax unified 2518 .thumb ARM GAS /tmp/ccNvkH5l.s page 93 2519 .thumb_func 2521 HAL_ADC_ConfigChannel: 2522 .LVL149: 2523 .LFB257: 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 2524 .loc 1 1670 1 is_stmt 1 view -0 2525 .cfi_startproc 2526 @ args = 0, pretend = 0, frame = 8 2527 @ frame_needed = 0, uses_anonymous_args = 0 2528 @ link register save eliminated. 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 2529 .loc 1 1670 1 is_stmt 0 view .LVU808 2530 0000 30B4 push {r4, r5} 2531 .LCFI22: 2532 .cfi_def_cfa_offset 8 2533 .cfi_offset 4, -8 2534 .cfi_offset 5, -4 2535 0002 82B0 sub sp, sp, #8 2536 .LCFI23: 2537 .cfi_def_cfa_offset 16 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 2538 .loc 1 1671 3 is_stmt 1 view .LVU809 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 2539 .loc 1 1671 17 is_stmt 0 view .LVU810 2540 0004 0022 movs r2, #0 2541 0006 0192 str r2, [sp, #4] 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2542 .loc 1 1672 3 is_stmt 1 view .LVU811 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_RANK(sConfig->Rank)); 2543 .loc 1 1675 3 view .LVU812 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime)); 2544 .loc 1 1676 3 view .LVU813 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2545 .loc 1 1677 3 view .LVU814 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2546 .loc 1 1680 3 view .LVU815 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2547 .loc 1 1680 3 view .LVU816 2548 0008 90F83C20 ldrb r2, [r0, #60] @ zero_extendqisi2 2549 000c 012A cmp r2, #1 2550 000e 00F0C080 beq .L187 2551 0012 0346 mov r3, r0 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2552 .loc 1 1680 3 discriminator 2 view .LVU817 2553 0014 0122 movs r2, #1 2554 0016 80F83C20 strb r2, [r0, #60] 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2555 .loc 1 1680 3 discriminator 2 view .LVU818 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2556 .loc 1 1683 3 view .LVU819 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2557 .loc 1 1683 14 is_stmt 0 view .LVU820 2558 001a 0A68 ldr r2, [r1] 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2559 .loc 1 1683 6 view .LVU821 2560 001c 092A cmp r2, #9 2561 001e 40D9 bls .L177 ARM GAS /tmp/ccNvkH5l.s page 94 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2562 .loc 1 1686 5 is_stmt 1 view .LVU822 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2563 .loc 1 1686 9 is_stmt 0 view .LVU823 2564 0020 0468 ldr r4, [r0] 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2565 .loc 1 1686 19 view .LVU824 2566 0022 E068 ldr r0, [r4, #12] 2567 .LVL150: 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2568 .loc 1 1686 31 view .LVU825 2569 0024 92B2 uxth r2, r2 2570 0026 02EB4202 add r2, r2, r2, lsl #1 2571 002a 1E3A subs r2, r2, #30 2572 002c 4FF0070C mov ip, #7 2573 0030 0CFA02F2 lsl r2, ip, r2 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2574 .loc 1 1686 27 view .LVU826 2575 0034 20EA0202 bic r2, r0, r2 2576 0038 E260 str r2, [r4, #12] 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2577 .loc 1 1689 5 is_stmt 1 view .LVU827 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2578 .loc 1 1689 9 is_stmt 0 view .LVU828 2579 003a 1C68 ldr r4, [r3] 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2580 .loc 1 1689 19 view .LVU829 2581 003c E068 ldr r0, [r4, #12] 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2582 .loc 1 1689 30 view .LVU830 2583 003e 0A88 ldrh r2, [r1] 2584 0040 02EB4202 add r2, r2, r2, lsl #1 2585 0044 1E3A subs r2, r2, #30 2586 0046 8D68 ldr r5, [r1, #8] 2587 0048 05FA02F2 lsl r2, r5, r2 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2588 .loc 1 1689 27 view .LVU831 2589 004c 0243 orrs r2, r2, r0 2590 004e E260 str r2, [r4, #12] 2591 .L178: 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2592 .loc 1 1701 3 is_stmt 1 view .LVU832 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2593 .loc 1 1701 14 is_stmt 0 view .LVU833 2594 0050 4A68 ldr r2, [r1, #4] 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2595 .loc 1 1701 6 view .LVU834 2596 0052 062A cmp r2, #6 2597 0054 3CD8 bhi .L179 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2598 .loc 1 1704 5 is_stmt 1 view .LVU835 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2599 .loc 1 1704 9 is_stmt 0 view .LVU836 2600 0056 1C68 ldr r4, [r3] 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2601 .loc 1 1704 19 view .LVU837 2602 0058 606B ldr r0, [r4, #52] ARM GAS /tmp/ccNvkH5l.s page 95 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2603 .loc 1 1704 30 view .LVU838 2604 005a 02EB8202 add r2, r2, r2, lsl #2 2605 005e 053A subs r2, r2, #5 2606 0060 4FF01F0C mov ip, #31 2607 0064 0CFA02F2 lsl r2, ip, r2 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2608 .loc 1 1704 26 view .LVU839 2609 0068 20EA0202 bic r2, r0, r2 2610 006c 6263 str r2, [r4, #52] 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2611 .loc 1 1707 5 is_stmt 1 view .LVU840 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2612 .loc 1 1707 9 is_stmt 0 view .LVU841 2613 006e 1C68 ldr r4, [r3] 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2614 .loc 1 1707 19 view .LVU842 2615 0070 606B ldr r0, [r4, #52] 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2616 .loc 1 1707 29 view .LVU843 2617 0072 4A68 ldr r2, [r1, #4] 2618 0074 02EB8202 add r2, r2, r2, lsl #2 2619 0078 053A subs r2, r2, #5 2620 007a B1F800C0 ldrh ip, [r1] 2621 007e 0CFA02F2 lsl r2, ip, r2 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2622 .loc 1 1707 26 view .LVU844 2623 0082 0243 orrs r2, r2, r0 2624 0084 6263 str r2, [r4, #52] 2625 .L180: 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2626 .loc 1 1731 3 is_stmt 1 view .LVU845 2627 .LVL151: 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2628 .loc 1 1734 3 view .LVU846 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2629 .loc 1 1734 12 is_stmt 0 view .LVU847 2630 0086 1868 ldr r0, [r3] 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2631 .loc 1 1734 6 view .LVU848 2632 0088 434A ldr r2, .L191 2633 008a 9042 cmp r0, r2 2634 008c 50D0 beq .L189 2635 .L182: 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2636 .loc 1 1747 3 is_stmt 1 view .LVU849 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2637 .loc 1 1747 12 is_stmt 0 view .LVU850 2638 008e 1868 ldr r0, [r3] 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2639 .loc 1 1747 6 view .LVU851 2640 0090 414A ldr r2, .L191 2641 0092 9042 cmp r0, r2 2642 0094 59D0 beq .L190 2643 .LVL152: 2644 .L183: 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS /tmp/ccNvkH5l.s page 96 2645 .loc 1 1770 3 is_stmt 1 view .LVU852 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2646 .loc 1 1770 3 view .LVU853 2647 0096 0020 movs r0, #0 2648 0098 83F83C00 strb r0, [r3, #60] 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2649 .loc 1 1770 3 view .LVU854 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2650 .loc 1 1773 3 view .LVU855 2651 .LVL153: 2652 .L176: 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2653 .loc 1 1774 1 is_stmt 0 view .LVU856 2654 009c 02B0 add sp, sp, #8 2655 .LCFI24: 2656 .cfi_remember_state 2657 .cfi_def_cfa_offset 8 2658 @ sp needed 2659 009e 30BC pop {r4, r5} 2660 .LCFI25: 2661 .cfi_restore 5 2662 .cfi_restore 4 2663 .cfi_def_cfa_offset 0 2664 00a0 7047 bx lr 2665 .LVL154: 2666 .L177: 2667 .LCFI26: 2668 .cfi_restore_state 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2669 .loc 1 1694 5 is_stmt 1 view .LVU857 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2670 .loc 1 1694 9 is_stmt 0 view .LVU858 2671 00a2 0468 ldr r4, [r0] 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2672 .loc 1 1694 19 view .LVU859 2673 00a4 2069 ldr r0, [r4, #16] 2674 .LVL155: 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2675 .loc 1 1694 31 view .LVU860 2676 00a6 92B2 uxth r2, r2 2677 00a8 02EB4202 add r2, r2, r2, lsl #1 2678 00ac 4FF0070C mov ip, #7 2679 00b0 0CFA02F2 lsl r2, ip, r2 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2680 .loc 1 1694 27 view .LVU861 2681 00b4 20EA0202 bic r2, r0, r2 2682 00b8 2261 str r2, [r4, #16] 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2683 .loc 1 1697 5 is_stmt 1 view .LVU862 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2684 .loc 1 1697 9 is_stmt 0 view .LVU863 2685 00ba 1C68 ldr r4, [r3] 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2686 .loc 1 1697 19 view .LVU864 2687 00bc 2069 ldr r0, [r4, #16] 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2688 .loc 1 1697 30 view .LVU865 ARM GAS /tmp/ccNvkH5l.s page 97 2689 00be 0A88 ldrh r2, [r1] 2690 00c0 02EB4202 add r2, r2, r2, lsl #1 2691 00c4 8D68 ldr r5, [r1, #8] 2692 00c6 05FA02F2 lsl r2, r5, r2 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2693 .loc 1 1697 27 view .LVU866 2694 00ca 0243 orrs r2, r2, r0 2695 00cc 2261 str r2, [r4, #16] 2696 00ce BFE7 b .L178 2697 .L179: 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2698 .loc 1 1710 8 is_stmt 1 view .LVU867 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2699 .loc 1 1710 11 is_stmt 0 view .LVU868 2700 00d0 0C2A cmp r2, #12 2701 00d2 16D8 bhi .L181 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2702 .loc 1 1713 5 is_stmt 1 view .LVU869 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2703 .loc 1 1713 9 is_stmt 0 view .LVU870 2704 00d4 1D68 ldr r5, [r3] 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2705 .loc 1 1713 19 view .LVU871 2706 00d6 286B ldr r0, [r5, #48] 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2707 .loc 1 1713 30 view .LVU872 2708 00d8 02EB8202 add r2, r2, r2, lsl #2 2709 00dc 233A subs r2, r2, #35 2710 00de 1F24 movs r4, #31 2711 00e0 04FA02F2 lsl r2, r4, r2 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2712 .loc 1 1713 26 view .LVU873 2713 00e4 20EA0202 bic r2, r0, r2 2714 00e8 2A63 str r2, [r5, #48] 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2715 .loc 1 1716 5 is_stmt 1 view .LVU874 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2716 .loc 1 1716 9 is_stmt 0 view .LVU875 2717 00ea 1D68 ldr r5, [r3] 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2718 .loc 1 1716 19 view .LVU876 2719 00ec 286B ldr r0, [r5, #48] 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2720 .loc 1 1716 29 view .LVU877 2721 00ee 4A68 ldr r2, [r1, #4] 2722 00f0 02EB8202 add r2, r2, r2, lsl #2 2723 00f4 233A subs r2, r2, #35 2724 00f6 0C88 ldrh r4, [r1] 2725 00f8 04FA02F2 lsl r2, r4, r2 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2726 .loc 1 1716 26 view .LVU878 2727 00fc 0243 orrs r2, r2, r0 2728 00fe 2A63 str r2, [r5, #48] 2729 0100 C1E7 b .L180 2730 .L181: 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2731 .loc 1 1722 5 is_stmt 1 view .LVU879 ARM GAS /tmp/ccNvkH5l.s page 98 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2732 .loc 1 1722 9 is_stmt 0 view .LVU880 2733 0102 1D68 ldr r5, [r3] 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2734 .loc 1 1722 19 view .LVU881 2735 0104 E86A ldr r0, [r5, #44] 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2736 .loc 1 1722 30 view .LVU882 2737 0106 02EB8202 add r2, r2, r2, lsl #2 2738 010a 413A subs r2, r2, #65 2739 010c 1F24 movs r4, #31 2740 010e 04FA02F2 lsl r2, r4, r2 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2741 .loc 1 1722 26 view .LVU883 2742 0112 20EA0202 bic r2, r0, r2 2743 0116 EA62 str r2, [r5, #44] 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2744 .loc 1 1725 5 is_stmt 1 view .LVU884 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2745 .loc 1 1725 9 is_stmt 0 view .LVU885 2746 0118 1D68 ldr r5, [r3] 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2747 .loc 1 1725 19 view .LVU886 2748 011a E86A ldr r0, [r5, #44] 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2749 .loc 1 1725 29 view .LVU887 2750 011c 4A68 ldr r2, [r1, #4] 2751 011e 02EB8202 add r2, r2, r2, lsl #2 2752 0122 413A subs r2, r2, #65 2753 0124 0C88 ldrh r4, [r1] 2754 0126 04FA02F2 lsl r2, r4, r2 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2755 .loc 1 1725 26 view .LVU888 2756 012a 0243 orrs r2, r2, r0 2757 012c EA62 str r2, [r5, #44] 2758 012e AAE7 b .L180 2759 .LVL156: 2760 .L189: 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2761 .loc 1 1734 43 discriminator 1 view .LVU889 2762 0130 0A68 ldr r2, [r1] 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2763 .loc 1 1734 32 discriminator 1 view .LVU890 2764 0132 122A cmp r2, #18 2765 0134 ABD1 bne .L182 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2766 .loc 1 1737 5 is_stmt 1 view .LVU891 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2767 .loc 1 1739 7 view .LVU892 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2768 .loc 1 1739 20 is_stmt 0 view .LVU893 2769 0136 194A ldr r2, .L191+4 2770 0138 5068 ldr r0, [r2, #4] 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2771 .loc 1 1739 26 view .LVU894 2772 013a 20F40000 bic r0, r0, #8388608 2773 013e 5060 str r0, [r2, #4] ARM GAS /tmp/ccNvkH5l.s page 99 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2774 .loc 1 1742 5 is_stmt 1 view .LVU895 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2775 .loc 1 1742 18 is_stmt 0 view .LVU896 2776 0140 5068 ldr r0, [r2, #4] 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2777 .loc 1 1742 24 view .LVU897 2778 0142 40F48000 orr r0, r0, #4194304 2779 0146 5060 str r0, [r2, #4] 2780 0148 A1E7 b .L182 2781 .L190: 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2782 .loc 1 1747 44 discriminator 1 view .LVU898 2783 014a 0A68 ldr r2, [r1] 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2784 .loc 1 1747 32 discriminator 1 view .LVU899 2785 014c 1448 ldr r0, .L191+8 2786 014e 8242 cmp r2, r0 2787 0150 01D0 beq .L184 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2788 .loc 1 1747 81 discriminator 2 view .LVU900 2789 0152 112A cmp r2, #17 2790 0154 9FD1 bne .L183 2791 .L184: 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2792 .loc 1 1750 5 is_stmt 1 view .LVU901 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2793 .loc 1 1752 7 view .LVU902 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2794 .loc 1 1752 20 is_stmt 0 view .LVU903 2795 0156 114A ldr r2, .L191+4 2796 0158 5068 ldr r0, [r2, #4] 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2797 .loc 1 1752 26 view .LVU904 2798 015a 20F48000 bic r0, r0, #4194304 2799 015e 5060 str r0, [r2, #4] 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2800 .loc 1 1755 5 is_stmt 1 view .LVU905 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2801 .loc 1 1755 18 is_stmt 0 view .LVU906 2802 0160 5068 ldr r0, [r2, #4] 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2803 .loc 1 1755 24 view .LVU907 2804 0162 40F40000 orr r0, r0, #8388608 2805 0166 5060 str r0, [r2, #4] 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2806 .loc 1 1757 5 is_stmt 1 view .LVU908 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2807 .loc 1 1757 16 is_stmt 0 view .LVU909 2808 0168 0968 ldr r1, [r1] 2809 .LVL157: 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2810 .loc 1 1757 8 view .LVU910 2811 016a 0D4A ldr r2, .L191+8 2812 016c 9142 cmp r1, r2 2813 016e 92D1 bne .L183 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) ARM GAS /tmp/ccNvkH5l.s page 100 2814 .loc 1 1761 7 is_stmt 1 view .LVU911 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 2815 .loc 1 1761 61 is_stmt 0 view .LVU912 2816 0170 0C4A ldr r2, .L191+12 2817 0172 1268 ldr r2, [r2] 2818 0174 0C49 ldr r1, .L191+16 2819 0176 A1FB0212 umull r1, r2, r1, r2 2820 017a 920C lsrs r2, r2, #18 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 2821 .loc 1 1761 42 view .LVU913 2822 017c 02EB8202 add r2, r2, r2, lsl #2 2823 0180 5200 lsls r2, r2, #1 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while (counter != 0U) 2824 .loc 1 1761 15 view .LVU914 2825 0182 0192 str r2, [sp, #4] 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2826 .loc 1 1762 7 is_stmt 1 view .LVU915 2827 .L185: 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2828 .loc 1 1762 22 view .LVU916 2829 0184 019A ldr r2, [sp, #4] 2830 0186 002A cmp r2, #0 2831 0188 85D0 beq .L183 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2832 .loc 1 1764 9 view .LVU917 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2833 .loc 1 1764 16 is_stmt 0 view .LVU918 2834 018a 019A ldr r2, [sp, #4] 2835 018c 013A subs r2, r2, #1 2836 018e 0192 str r2, [sp, #4] 2837 0190 F8E7 b .L185 2838 .LVL158: 2839 .L187: 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2840 .loc 1 1680 3 discriminator 1 view .LVU919 2841 0192 0220 movs r0, #2 2842 .LVL159: 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2843 .loc 1 1680 3 discriminator 1 view .LVU920 2844 0194 82E7 b .L176 2845 .L192: 2846 0196 00BF .align 2 2847 .L191: 2848 0198 00200140 .word 1073815552 2849 019c 00230140 .word 1073816320 2850 01a0 12000010 .word 268435474 2851 01a4 00000000 .word SystemCoreClock 2852 01a8 83DE1B43 .word 1125899907 2853 .cfi_endproc 2854 .LFE257: 2856 .section .text.HAL_ADC_AnalogWDGConfig,"ax",%progbits 2857 .align 1 2858 .global HAL_ADC_AnalogWDGConfig 2859 .syntax unified 2860 .thumb 2861 .thumb_func 2863 HAL_ADC_AnalogWDGConfig: ARM GAS /tmp/ccNvkH5l.s page 101 2864 .LVL160: 2865 .LFB258: 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT 2866 .loc 1 1793 1 is_stmt 1 view -0 2867 .cfi_startproc 2868 @ args = 0, pretend = 0, frame = 0 2869 @ frame_needed = 0, uses_anonymous_args = 0 2870 @ link register save eliminated. 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel)); 2871 .loc 1 1799 3 view .LVU922 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode)); 2872 .loc 1 1800 3 view .LVU923 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2873 .loc 1 1801 3 view .LVU924 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2874 .loc 1 1810 3 view .LVU925 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2875 .loc 1 1810 3 view .LVU926 2876 0000 90F83C20 ldrb r2, [r0, #60] @ zero_extendqisi2 2877 0004 012A cmp r2, #1 2878 0006 34D0 beq .L197 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT 2879 .loc 1 1793 1 is_stmt 0 view .LVU927 2880 0008 10B4 push {r4} 2881 .LCFI27: 2882 .cfi_def_cfa_offset 4 2883 .cfi_offset 4, -4 2884 000a 0346 mov r3, r0 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2885 .loc 1 1810 3 is_stmt 1 discriminator 2 view .LVU928 2886 000c 0122 movs r2, #1 2887 000e 80F83C20 strb r2, [r0, #60] 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2888 .loc 1 1810 3 discriminator 2 view .LVU929 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2889 .loc 1 1812 3 view .LVU930 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2890 .loc 1 1812 22 is_stmt 0 view .LVU931 2891 0012 0A7C ldrb r2, [r1, #16] @ zero_extendqisi2 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2892 .loc 1 1812 6 view .LVU932 2893 0014 012A cmp r2, #1 2894 0016 26D0 beq .L202 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2895 .loc 1 1820 5 is_stmt 1 view .LVU933 2896 0018 0068 ldr r0, [r0] 2897 .LVL161: 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2898 .loc 1 1820 5 is_stmt 0 view .LVU934 2899 001a 4268 ldr r2, [r0, #4] 2900 001c 22F04002 bic r2, r2, #64 2901 0020 4260 str r2, [r0, #4] 2902 .L196: 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2903 .loc 1 1824 3 is_stmt 1 view .LVU935 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2904 .loc 1 1824 7 is_stmt 0 view .LVU936 ARM GAS /tmp/ccNvkH5l.s page 102 2905 0022 1868 ldr r0, [r3] 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2906 .loc 1 1824 17 view .LVU937 2907 0024 4268 ldr r2, [r0, #4] 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2908 .loc 1 1824 23 view .LVU938 2909 0026 22F44002 bic r2, r2, #12582912 2910 002a 22F40072 bic r2, r2, #512 2911 002e 4260 str r2, [r0, #4] 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2912 .loc 1 1827 3 is_stmt 1 view .LVU939 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2913 .loc 1 1827 7 is_stmt 0 view .LVU940 2914 0030 1868 ldr r0, [r3] 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2915 .loc 1 1827 17 view .LVU941 2916 0032 4268 ldr r2, [r0, #4] 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2917 .loc 1 1827 41 view .LVU942 2918 0034 0C68 ldr r4, [r1] 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2919 .loc 1 1827 23 view .LVU943 2920 0036 2243 orrs r2, r2, r4 2921 0038 4260 str r2, [r0, #4] 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2922 .loc 1 1830 3 is_stmt 1 view .LVU944 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2923 .loc 1 1830 7 is_stmt 0 view .LVU945 2924 003a 1A68 ldr r2, [r3] 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2925 .loc 1 1830 40 view .LVU946 2926 003c 4868 ldr r0, [r1, #4] 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2927 .loc 1 1830 23 view .LVU947 2928 003e 5062 str r0, [r2, #36] 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2929 .loc 1 1833 3 is_stmt 1 view .LVU948 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2930 .loc 1 1833 7 is_stmt 0 view .LVU949 2931 0040 1A68 ldr r2, [r3] 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2932 .loc 1 1833 40 view .LVU950 2933 0042 8868 ldr r0, [r1, #8] 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2934 .loc 1 1833 23 view .LVU951 2935 0044 9062 str r0, [r2, #40] 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2936 .loc 1 1836 3 is_stmt 1 view .LVU952 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2937 .loc 1 1836 7 is_stmt 0 view .LVU953 2938 0046 1868 ldr r0, [r3] 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2939 .loc 1 1836 17 view .LVU954 2940 0048 4268 ldr r2, [r0, #4] 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2941 .loc 1 1836 23 view .LVU955 2942 004a 22F01F02 bic r2, r2, #31 ARM GAS /tmp/ccNvkH5l.s page 103 2943 004e 4260 str r2, [r0, #4] 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2944 .loc 1 1839 3 is_stmt 1 view .LVU956 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2945 .loc 1 1839 7 is_stmt 0 view .LVU957 2946 0050 1868 ldr r0, [r3] 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2947 .loc 1 1839 17 view .LVU958 2948 0052 4468 ldr r4, [r0, #4] 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2949 .loc 1 1839 23 view .LVU959 2950 0054 8A89 ldrh r2, [r1, #12] 2951 0056 2243 orrs r2, r2, r4 2952 0058 4260 str r2, [r0, #4] 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2953 .loc 1 1842 3 is_stmt 1 view .LVU960 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2954 .loc 1 1842 3 view .LVU961 2955 005a 0020 movs r0, #0 2956 005c 83F83C00 strb r0, [r3, #60] 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2957 .loc 1 1842 3 view .LVU962 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2958 .loc 1 1845 3 view .LVU963 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2959 .loc 1 1846 1 is_stmt 0 view .LVU964 2960 0060 5DF8044B ldr r4, [sp], #4 2961 .LCFI28: 2962 .cfi_remember_state 2963 .cfi_restore 4 2964 .cfi_def_cfa_offset 0 2965 0064 7047 bx lr 2966 .LVL162: 2967 .L202: 2968 .LCFI29: 2969 .cfi_restore_state 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2970 .loc 1 1815 5 is_stmt 1 view .LVU965 2971 0066 0068 ldr r0, [r0] 2972 .LVL163: 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2973 .loc 1 1815 5 is_stmt 0 view .LVU966 2974 0068 4268 ldr r2, [r0, #4] 2975 006a 42F04002 orr r2, r2, #64 2976 006e 4260 str r2, [r0, #4] 2977 0070 D7E7 b .L196 2978 .LVL164: 2979 .L197: 2980 .LCFI30: 2981 .cfi_def_cfa_offset 0 2982 .cfi_restore 4 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2983 .loc 1 1810 3 discriminator 1 view .LVU967 2984 0072 0220 movs r0, #2 2985 .LVL165: 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2986 .loc 1 1846 1 view .LVU968 ARM GAS /tmp/ccNvkH5l.s page 104 2987 0074 7047 bx lr 2988 .cfi_endproc 2989 .LFE258: 2991 .section .text.HAL_ADC_GetState,"ax",%progbits 2992 .align 1 2993 .global HAL_ADC_GetState 2994 .syntax unified 2995 .thumb 2996 .thumb_func 2998 HAL_ADC_GetState: 2999 .LVL166: 3000 .LFB259: 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */ 3001 .loc 1 1875 1 is_stmt 1 view -0 3002 .cfi_startproc 3003 @ args = 0, pretend = 0, frame = 0 3004 @ frame_needed = 0, uses_anonymous_args = 0 3005 @ link register save eliminated. 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3006 .loc 1 1877 3 view .LVU970 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3007 .loc 1 1877 14 is_stmt 0 view .LVU971 3008 0000 006C ldr r0, [r0, #64] 3009 .LVL167: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 3010 .loc 1 1878 1 view .LVU972 3011 0002 7047 bx lr 3012 .cfi_endproc 3013 .LFE259: 3015 .section .text.HAL_ADC_GetError,"ax",%progbits 3016 .align 1 3017 .global HAL_ADC_GetError 3018 .syntax unified 3019 .thumb 3020 .thumb_func 3022 HAL_ADC_GetError: 3023 .LVL168: 3024 .LFB260: 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->ErrorCode; 3025 .loc 1 1887 1 is_stmt 1 view -0 3026 .cfi_startproc 3027 @ args = 0, pretend = 0, frame = 0 3028 @ frame_needed = 0, uses_anonymous_args = 0 3029 @ link register save eliminated. 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3030 .loc 1 1888 3 view .LVU974 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3031 .loc 1 1888 14 is_stmt 0 view .LVU975 3032 0000 406C ldr r0, [r0, #68] 3033 .LVL169: 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 3034 .loc 1 1889 1 view .LVU976 3035 0002 7047 bx lr 3036 .cfi_endproc 3037 .LFE260: 3039 .text 3040 .Letext0: ARM GAS /tmp/ccNvkH5l.s page 105 3041 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" 3042 .file 3 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h" 3043 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 3044 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 3045 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 3046 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h" 3047 .file 8 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h" 3048 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h" 3049 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" ARM GAS /tmp/ccNvkH5l.s page 106 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_hal_adc.c /tmp/ccNvkH5l.s:21 .text.ADC_Init:00000000 $t /tmp/ccNvkH5l.s:26 .text.ADC_Init:00000000 ADC_Init /tmp/ccNvkH5l.s:290 .text.ADC_Init:0000012c $d /tmp/ccNvkH5l.s:296 .text.HAL_ADC_MspInit:00000000 $t /tmp/ccNvkH5l.s:302 .text.HAL_ADC_MspInit:00000000 HAL_ADC_MspInit /tmp/ccNvkH5l.s:317 .text.HAL_ADC_Init:00000000 $t /tmp/ccNvkH5l.s:323 .text.HAL_ADC_Init:00000000 HAL_ADC_Init /tmp/ccNvkH5l.s:426 .text.HAL_ADC_MspDeInit:00000000 $t /tmp/ccNvkH5l.s:432 .text.HAL_ADC_MspDeInit:00000000 HAL_ADC_MspDeInit /tmp/ccNvkH5l.s:447 .text.HAL_ADC_DeInit:00000000 $t /tmp/ccNvkH5l.s:453 .text.HAL_ADC_DeInit:00000000 HAL_ADC_DeInit /tmp/ccNvkH5l.s:525 .text.HAL_ADC_Start:00000000 $t /tmp/ccNvkH5l.s:531 .text.HAL_ADC_Start:00000000 HAL_ADC_Start /tmp/ccNvkH5l.s:795 .text.HAL_ADC_Start:00000130 $d /tmp/ccNvkH5l.s:804 .text.HAL_ADC_Stop:00000000 $t /tmp/ccNvkH5l.s:810 .text.HAL_ADC_Stop:00000000 HAL_ADC_Stop /tmp/ccNvkH5l.s:869 .text.HAL_ADC_PollForConversion:00000000 $t /tmp/ccNvkH5l.s:875 .text.HAL_ADC_PollForConversion:00000000 HAL_ADC_PollForConversion /tmp/ccNvkH5l.s:1040 .text.HAL_ADC_PollForEvent:00000000 $t /tmp/ccNvkH5l.s:1046 .text.HAL_ADC_PollForEvent:00000000 HAL_ADC_PollForEvent /tmp/ccNvkH5l.s:1161 .text.HAL_ADC_Start_IT:00000000 $t /tmp/ccNvkH5l.s:1167 .text.HAL_ADC_Start_IT:00000000 HAL_ADC_Start_IT /tmp/ccNvkH5l.s:1437 .text.HAL_ADC_Start_IT:0000013c $d /tmp/ccNvkH5l.s:1446 .text.HAL_ADC_Stop_IT:00000000 $t /tmp/ccNvkH5l.s:1452 .text.HAL_ADC_Stop_IT:00000000 HAL_ADC_Stop_IT /tmp/ccNvkH5l.s:1516 .text.HAL_ADC_Start_DMA:00000000 $t /tmp/ccNvkH5l.s:1522 .text.HAL_ADC_Start_DMA:00000000 HAL_ADC_Start_DMA /tmp/ccNvkH5l.s:1814 .text.HAL_ADC_Start_DMA:00000168 $d /tmp/ccNvkH5l.s:2406 .text.ADC_DMAConvCplt:00000000 ADC_DMAConvCplt /tmp/ccNvkH5l.s:2018 .text.ADC_DMAHalfConvCplt:00000000 ADC_DMAHalfConvCplt /tmp/ccNvkH5l.s:2365 .text.ADC_DMAError:00000000 ADC_DMAError /tmp/ccNvkH5l.s:1826 .text.HAL_ADC_Stop_DMA:00000000 $t /tmp/ccNvkH5l.s:1832 .text.HAL_ADC_Stop_DMA:00000000 HAL_ADC_Stop_DMA /tmp/ccNvkH5l.s:1945 .text.HAL_ADC_GetValue:00000000 $t /tmp/ccNvkH5l.s:1951 .text.HAL_ADC_GetValue:00000000 HAL_ADC_GetValue /tmp/ccNvkH5l.s:1971 .text.HAL_ADC_ConvCpltCallback:00000000 $t /tmp/ccNvkH5l.s:1977 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback /tmp/ccNvkH5l.s:1992 .text.HAL_ADC_ConvHalfCpltCallback:00000000 $t /tmp/ccNvkH5l.s:1998 .text.HAL_ADC_ConvHalfCpltCallback:00000000 HAL_ADC_ConvHalfCpltCallback /tmp/ccNvkH5l.s:2013 .text.ADC_DMAHalfConvCplt:00000000 $t /tmp/ccNvkH5l.s:2045 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 $t /tmp/ccNvkH5l.s:2051 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 HAL_ADC_LevelOutOfWindowCallback /tmp/ccNvkH5l.s:2066 .text.HAL_ADC_ErrorCallback:00000000 $t /tmp/ccNvkH5l.s:2072 .text.HAL_ADC_ErrorCallback:00000000 HAL_ADC_ErrorCallback /tmp/ccNvkH5l.s:2087 .text.HAL_ADC_IRQHandler:00000000 $t /tmp/ccNvkH5l.s:2093 .text.HAL_ADC_IRQHandler:00000000 HAL_ADC_IRQHandler /tmp/ccNvkH5l.s:2360 .text.ADC_DMAError:00000000 $t /tmp/ccNvkH5l.s:2401 .text.ADC_DMAConvCplt:00000000 $t /tmp/ccNvkH5l.s:2515 .text.HAL_ADC_ConfigChannel:00000000 $t /tmp/ccNvkH5l.s:2521 .text.HAL_ADC_ConfigChannel:00000000 HAL_ADC_ConfigChannel /tmp/ccNvkH5l.s:2848 .text.HAL_ADC_ConfigChannel:00000198 $d /tmp/ccNvkH5l.s:2857 .text.HAL_ADC_AnalogWDGConfig:00000000 $t /tmp/ccNvkH5l.s:2863 .text.HAL_ADC_AnalogWDGConfig:00000000 HAL_ADC_AnalogWDGConfig /tmp/ccNvkH5l.s:2992 .text.HAL_ADC_GetState:00000000 $t /tmp/ccNvkH5l.s:2998 .text.HAL_ADC_GetState:00000000 HAL_ADC_GetState ARM GAS /tmp/ccNvkH5l.s page 107 /tmp/ccNvkH5l.s:3016 .text.HAL_ADC_GetError:00000000 $t /tmp/ccNvkH5l.s:3022 .text.HAL_ADC_GetError:00000000 HAL_ADC_GetError UNDEFINED SYMBOLS SystemCoreClock HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort HAL_ADCEx_InjectedConvCpltCallback