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