ARM GAS /tmp/ccMhywUy.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 .section .text.ADC_Init,"ax",%progbits 20 .align 1 21 .syntax unified 22 .thumb 23 .thumb_func 25 ADC_Init: 26 .LVL0: 27 .LFB152: 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c" 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 Convertor (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 **** * + IO operation functions 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + State and errors functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### ADC Peripheral features ##### 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Interrupt generation at the end of conversion, end of injected conversion, 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and in case of analog watchdog or overrun events 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Single and continuous conversion modes. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Scan mode for automatic conversion of channel 0 to channel x. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Data alignment with in-built data coherency. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Channel-wise programmable sampling time. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) External trigger option with configurable polarity for both regular and 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** injected conversion. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Dual/Triple mode (on devices with 2 ADCs or more). 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable DMA data storage in Dual/Triple ADC mode. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable delay between conversions in Dual/Triple interleaved mode. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC conversion type (refer to the datasheets). 29: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 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** slower speed. ARM GAS /tmp/ccMhywUy.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC input range: VREF(minus) = VIN = VREF(plus). 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) DMA request generation during regular channel conversion. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### How to use this driver ##### 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#)Initialize the ADC low level resources by implementing the HAL_ADC_MspInit(): 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) Enable the ADC interface clock using __HAL_RCC_ADC_CLK_ENABLE() 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) ADC pins configuration 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the clock for the ADC GPIOs using the following function: 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_RCC_GPIOx_CLK_ENABLE() 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure these ADC pins in analog mode using HAL_GPIO_Init() 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using interrupts (e.g. HAL_ADC_Start_IT()) 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the ADC interrupt priority using HAL_NVIC_SetPriority() 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the ADC IRQ handler using HAL_NVIC_EnableIRQ() 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) In ADC IRQ handler, call HAL_ADC_IRQHandler() 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using DMA to control data transfer (e.g. HAL_ADC_Start_DMA()) 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the DMAx interface clock using __HAL_RCC_DMAx_CLK_ENABLE() 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure and enable two DMA streams stream for managing data 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer from peripheral to memory (output stream) 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Associate the initialized DMA handle to the CRYP DMA handle 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using __HAL_LINKDMA() 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** interrupt on the two DMA Streams. The output stream should have higher 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** priority than the input stream. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Configuration of ADC, groups regular/injected, channels parameters *** 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...) 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...) 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_Init(). 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number, 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into regular group) 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_ConfigChannel(). 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the injected group parameters (conversion trigger, 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** sequencer, ..., of injected group) 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the channels for injected group parameters (channel number, 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into injected group) 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADCEx_InjectedConfigChannel(). 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** monitored, thresholds, ...) using function HAL_ADC_AnalogWDGConfig(). 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, for devices with several ADC instances: configure the 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** multimode parameters using function HAL_ADCEx_MultiModeConfigChannel(). 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Execution of ADC conversions *** 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption, 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer by DMA. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Polling mode IO operation *** ARM GAS /tmp/ccMhywUy.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ================================= 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start() 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Wait for end of conversion using HAL_ADC_PollForConversion(), at this stage 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** user can specify the value of timeout according to his end application 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) To read the ADC converted values, use the HAL_ADC_GetValue() function. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop() 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Interrupt mode IO operation *** 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =================================== 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start_IT() 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Use HAL_ADC_IRQHandler() called under ADC_IRQHandler() Interrupt subroutine 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At ADC end of conversion HAL_ADC_ConvCpltCallback() function is executed and user can 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ConvCpltCallback 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) In case of ADC Error, HAL_ADC_ErrorCallback() function is executed and user can 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ErrorCallback 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop_IT() 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** DMA 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_DMA(), at this stage the user specify the l 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** of data to be transferred at each end of conversion 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At The end of data transfer by HAL_ADC_ConvCpltCallback() function is executed and user 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 transfer 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_DMA() 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** ADC HAL driver macros list *** 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 **** Below the list of most used macros in ADC HAL driver. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE : Enable the ADC peripheral 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE : Disable the ADC peripheral 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE_IT: Enable the ADC end of conversion interrupt 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE_IT: Disable the ADC end of conversion interrupt 127: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 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_CLEAR_FLAG: Clear the ADC's pending flags 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_GET_FLAG: Get the selected ADC's flag status 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ADC_GET_RESOLUTION: Return resolution bits in CR1 register 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (@) You can refer to the ADC HAL driver header file for more useful macros 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Deinitialization of ADC *** 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Disable the ADC interface 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Hard reset of ADC peripherals 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using macro __HAL_RCC_ADC_FORCE_RESET(), __HAL_RCC_ADC_RELEASE_RESET(). 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock disable using the equivalent macro/functions as configuration step. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Example: 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with ARM GAS /tmp/ccMhywUy.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** other device clock parameters configuration: 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_GetOscConfig(&RCC_OscInitStructure); 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI; 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSIState = RCC_HSI_OFF; (if not used for system clock) 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure); 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC pins configuration 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs using macro __HAL_RCC_GPIOx_CLK_DISABLE() 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions: 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for ADC using function HAL_NVIC_DisableIRQ(ADCx_IRQn) 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of DMA: 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Deinitialize the DMA using function HAL_DMA_DeInit(). 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for DMA using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn) 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Callback registration *** 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1, 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use Functions @ref HAL_ADC_RegisterCallback() 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** to register an interrupt callback. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Function @ref HAL_ADC_RegisterCallback() allows to register following callbacks: 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and a pointer to the user callback function. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use function @ref HAL_ADC_UnRegisterCallback to reset a callback to the default 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** weak function. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @ref HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle, 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the Callback ID. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function allows to reset following callbacks: 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback ARM GAS /tmp/ccMhywUy.s page 5 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** By default, after the @ref HAL_ADC_Init() and when the state is @ref HAL_ADC_STATE_RESET 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** all callbacks are set to the corresponding weak functions: 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** examples @ref HAL_ADC_ConvCpltCallback(), @ref HAL_ADC_ErrorCallback(). 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** reset to the legacy weak functions in the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit() only when 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** these callbacks are null (not registered beforehand). 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** If MspInit or MspDeInit are not null, the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit() 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Callbacks can be registered/unregistered in @ref HAL_ADC_STATE_READY state only. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** in @ref HAL_ADC_STATE_READY or @ref HAL_ADC_STATE_RESET state, 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using @ref HAL_ADC_RegisterCallback() before calling @ref HAL_ADC_DeInit() 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** or @ref HAL_ADC_Init() function. 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 **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** are set to the corresponding weak functions. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ****************************************************************************** 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @attention 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *

© Copyright (c) 2017 STMicroelectronics. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * All rights reserved.

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