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