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