ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.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, 6 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32f3xx_hal_adc.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.HAL_ADC_Init,"ax",%progbits 20 .align 1 21 .weak HAL_ADC_Init 22 .syntax unified 23 .thumb 24 .thumb_func 26 HAL_ADC_Init: 27 .LFB130: 28 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c" 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ****************************************************************************** 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @file stm32f3xx_hal_adc.c 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @author MCD Application Team 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief This file provides firmware functions to manage the following 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * functionalities of the Analog to Digital Convertor (ADC) 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * peripheral: 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * + Peripheral Control functions 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * + Peripheral State functions 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Other functions (extended functions) are available in file 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * "stm32f3xx_hal_adc_ex.c". 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ****************************************************************************** 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @attention 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Copyright (c) 2016 STMicroelectronics. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * All rights reserved. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * This software is licensed under terms that can be found in the LICENSE file 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * in the root directory of this software component. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ****************************************************************************** 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @verbatim 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ============================================================================== 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ##### ADC peripheral features ##### 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ============================================================================== 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution (available only on ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 2 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** STM32F30xxC devices). 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Interrupt generation at the end of regular conversion, end of injected 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** conversion, and in case of analog watchdog or overrun events. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Single and continuous conversion modes. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Scan mode for conversion of several channels sequentially. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Data alignment with in-built data coherency. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Programmable sampling time (channel wise) 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ADC conversion of regular group and injected group. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) External trigger (timer or EXTI) with configurable polarity 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** for both regular and injected groups. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) DMA request generation for transfer of conversions data of regular group. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Multimode dual mode (available on devices with 2 ADCs or more). 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Configurable DMA data storage in Multimode Dual mode (available on devices 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** with 2 DCs or more). 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Configurable delay between conversions in Dual interleaved mode (available 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** on devices with 2 DCs or more). 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ADC calibration 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ADC channels selectable single/differential input (available only on 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** STM32F30xxC devices) 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ADC Injected sequencer&channels configuration context queue (available 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** only on STM32F30xxC devices) 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ADC offset on injected and regular groups (offset on regular group 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** available only on STM32F30xxC devices) 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ADC supply requirements: 2.4 V to 3.6 V at full speed and down to 1.8 V at 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** slower speed. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ADC input range: from Vref- (connected to Vssa) to Vref+ (connected to 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Vdda or to an external voltage reference). 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ##### How to use this driver ##### 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ============================================================================== 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** *** Configuration of top level parameters related to ADC *** 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ============================================================ 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Enable the ADC interface 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) As prerequisite, ADC clock must be configured at RCC top level. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 3 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) For STM32F30x/STM32F33x devices: 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Two possible clock sources: synchronous clock derived from AHB clock 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** or asynchronous clock derived from ADC dedicated PLL 72MHz. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** - Synchronous clock is mandatory since used as ADC core clock. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Synchronous clock can be used optionally as ADC conversion clock, depending on ADC 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Synchronous clock is configured using macro __ADCx_CLK_ENABLE(). 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** - Asynchronous can be used optionally as ADC conversion clock, depending on ADC init 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Asynchronous clock is configured using function HAL_RCCEx_PeriphCLKConfig(). 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) For example, in case of device with a single ADC: 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Into HAL_ADC_MspInit() (recommended code location) or with 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** other device clock parameters configuration: 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC1_CLK_ENABLE() (mandatory) 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC (optional, if ADC conve 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.Adc1ClockSelection = RCC_ADC1PLLCLK_DIV1 (optional, if ADC conve 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInitStructure) (optional, if ADC conve 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) For example, in case of device with 4 ADCs: 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) if((hadc->Instance == ADC1) || (hadc->Instance == ADC2)) 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) { 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC12_CLK_ENABLE() (mandatory) 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC (optional, if ADC c 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.Adc12ClockSelection = RCC_ADC12PLLCLK_DIV1 (optional, if ADC c 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInitStructure) (optional, if ADC c 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) } 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) else 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) { 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC34_CLK_ENABLE() (mandatory) 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.Adc34ClockSelection = RCC_ADC34PLLCLK_DIV1; (optional, if ADC 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInitStructure); (optional, if ADC 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) } 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) For STM32F37x devices: 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** One clock setting is mandatory: 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ADC clock (core and conversion clock) from APB2 clock. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Example: 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Into HAL_ADC_MspInit() (recommended code location) or with 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** other device clock parameters configuration: 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.AdcClockSelection = RCC_ADCPLLCLK_DIV2 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) ADC pins configuration 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Enable the clock for the ADC GPIOs 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_ENABLE() 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Configure these ADC pins in analog mode 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_GPIO_Init() 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions: 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Configure the NVIC for ADC 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(ADCx_IRQn) 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler() 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** into the function of corresponding ADC interruption vector 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ADCx_IRQHandler(). 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, in case of usage of DMA: 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Configure the DMA (DMA channel, mode normal or circular, ...) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 4 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_DMA_Init(). 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Configure the NVIC for DMA 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(DMAx_Channelx_IRQn) 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler() 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** into the function of corresponding DMA interruption vector 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** DMAx_Channelx_IRQHandler(). 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** *** Configuration of ADC, groups regular/injected, channels parameters *** 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ========================================================================== 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...) 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...) 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Init(). 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number, 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** channel rank into sequencer, ..., into regular group) 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_ConfigChannel(). 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, configure the injected group parameters (conversion trigger, 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** sequencer, ..., of injected group) 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** and the channels for injected group parameters (channel number, 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** channel rank into sequencer, ..., into injected group) 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADCEx_InjectedConfigChannel(). 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** monitored, thresholds, ...) 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_AnalogWDGConfig(). 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, for devices with several ADC instances: configure the 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** multimode parameters 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADCEx_MultiModeConfigChannel(). 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** *** Execution of ADC conversions *** 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ==================================== 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, perform an automatic ADC calibration to improve the 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** conversion accuracy 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADCEx_Calibration_Start(). 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption, 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** transfer by DMA. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) ADC conversion by polling: 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Start() 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Wait for ADC conversion completion 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_PollForConversion() 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (or for injected group: HAL_ADCEx_InjectedPollForConversion() ) 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Retrieve conversion results 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_GetValue() 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (or for injected group: HAL_ADCEx_InjectedGetValue() ) 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Stop() 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) ADC conversion by interruption: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 5 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Start_IT() 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_ADC_ConvCpltCallback() 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (this function must be implemented in user program) 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (or for injected group: HAL_ADCEx_InjectedConvCpltCallback() ) 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Retrieve conversion results 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_GetValue() 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (or for injected group: HAL_ADCEx_InjectedGetValue() ) 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Stop_IT() 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) ADC conversion with transfer by DMA: 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Start_DMA() 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_ADC_ConvCpltCallback() or HAL_ADC_ConvHalfCpltCallback() 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (these functions must be implemented in user program) 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Conversion results are automatically transferred by DMA into 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** destination variable address. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Stop_DMA() 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) For devices with several ADCs: ADC multimode conversion 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** with transfer by DMA: 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Activate the ADC peripheral (slave) 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Start() 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (conversion start pending ADC master) 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Activate the ADC peripheral (master) and start conversions 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADCEx_MultiModeStart_DMA() 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_ADC_ConvCpltCallback() or HAL_ADC_ConvHalfCpltCallback() 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (these functions must be implemented in user program) 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Conversion results are automatically transferred by DMA into 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** destination variable address. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral (master) 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADCEx_MultiModeStop_DMA() 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral (slave) 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_ADC_Stop_IT() 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (@) Callback functions must be implemented in user program: 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+@) HAL_ADC_ErrorCallback() 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+@) HAL_ADC_LevelOutOfWindowCallback() (callback of analog watchdog) 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+@) HAL_ADC_ConvCpltCallback() 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+@) HAL_ADC_ConvHalfCpltCallback 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+@) HAL_ADCEx_InjectedConvCpltCallback() 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+@) HAL_ADCEx_InjectedQueueOverflowCallback() (for STM32F30x/STM32F33x devices) 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** *** Deinitialization of ADC *** 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ============================================================ 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Disable the ADC interface 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Hard reset of ADC peripherals ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 6 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using macro __ADCx_FORCE_RESET(), __ADCx_RELEASE_RESET(). 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) ADC clock disable 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using the equivalent macro/functions as configuration step. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) For STM32F30x/STM32F33x devices: 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Caution: For devices with several ADCs: 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** These settings impact both ADC of common group: ADC1&ADC2, ADC3&ADC4 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** if available (ADC2, ADC3, ADC4 availability depends on STM32 product) 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) For example, in case of device with a single ADC: 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** other device clock parameters configuration: 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC1_FORCE_RESET() (optional) 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC1_RELEASE_RESET() (optional) 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC1_CLK_DISABLE() (mandatory) 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC (optional, if configure 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.Adc1ClockSelection = RCC_ADC1PLLCLK_OFF (optional, if configure 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInitStructure) (optional, if configure 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) For example, in case of device with 4 ADCs: 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) if((hadc->Instance == ADC1) || (hadc->Instance == ADC2)) 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) { 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC12_FORCE_RESET() (optional) 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC12_RELEASE_RESET() (optional) 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC12_CLK_DISABLE() (mandatory) 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC (optional, if confi 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.Adc12ClockSelection = RCC_ADC12PLLCLK_OFF (optional, if confi 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInitStructure) (optional, if confi 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) } 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) else 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) { 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC32_FORCE_RESET() (optional) 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC32_RELEASE_RESET() (optional) 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) __HAL_RCC_ADC34_CLK_DISABLE() (mandatory) 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.Adc34ClockSelection = RCC_ADC34PLLCLK_OFF (optional, if confi 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInitStructure) (optional, if confi 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) } 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) For STM32F37x devices: 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) Example: 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** other device clock parameters configuration: 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) PeriphClkInit.AdcClockSelection = RCC_ADCPLLCLK_OFF 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+++) HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) ADC pins configuration 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_DISABLE() 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions: 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Disable the NVIC for ADC 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(ADCx_IRQn) 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (#) Optionally, in case of usage of DMA: 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Deinitialize the DMA 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_DMA_DeInit(). ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 7 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (++) Disable the NVIC for DMA 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn) 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** *** Callback registration *** 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ============================================= 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1, 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Use Functions HAL_ADC_RegisterCallback() 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** to register an interrupt callback. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Function HAL_ADC_RegisterCallback() allows to register following callbacks: 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** and a pointer to the user callback function. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Use function HAL_ADC_UnRegisterCallback to reset a callback to the default 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** weak function. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle, 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** and the Callback ID. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** This function allows to reset following callbacks: 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** By default, after the HAL_ADC_Init() and when the state is HAL_ADC_STATE_RESET 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** all callbacks are set to the corresponding weak functions: 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** examples HAL_ADC_ConvCpltCallback(), HAL_ADC_ErrorCallback(). 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** reset to the legacy weak functions in the HAL_ADC_Init()/ HAL_ADC_DeInit() only when 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** these callbacks are null (not registered beforehand). 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** If MspInit or MspDeInit are not null, the HAL_ADC_Init()/ HAL_ADC_DeInit() 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Callbacks can be registered/unregistered in HAL_ADC_STATE_READY state only. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 8 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** in HAL_ADC_STATE_READY or HAL_ADC_STATE_RESET state, 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** using HAL_ADC_RegisterCallback() before calling HAL_ADC_DeInit() 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** or HAL_ADC_Init() function. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** are set to the corresponding weak functions. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @endverbatim 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Includes ------------------------------------------------------------------*/ 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** #include "stm32f3xx_hal.h" 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** @addtogroup STM32F3xx_HAL_Driver 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @{ 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** @defgroup ADC ADC 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief ADC HAL module driver 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @{ 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** #ifdef HAL_ADC_MODULE_ENABLED 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Private typedef -----------------------------------------------------------*/ 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Private define ------------------------------------------------------------*/ 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Private macro -------------------------------------------------------------*/ 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Private variables ---------------------------------------------------------*/ 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Private function prototypes -----------------------------------------------*/ 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Exported functions --------------------------------------------------------*/ 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions ADC Exported Functions 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @{ 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group1 Initialization and de-initialization functions 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Initialization and Configuration functions 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @verbatim 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ##### Initialization and de-initialization functions ##### 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] This section provides functions allowing to: 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Initialize and configure the ADC. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) De-initialize the ADC. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @endverbatim 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @{ 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 9 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Initializes the ADC peripheral and regular group according to 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * parameters specified in structure "ADC_InitTypeDef". 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note As prerequisite, ADC clock must be configured at RCC top level 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * depending on both possible clock sources: PLL clock or AHB clock. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * See commented example code below that can be copied and uncommented 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * into HAL_ADC_MspInit(). 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note Possibility to update parameters on the fly: 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * This function initializes the ADC MSP (HAL_ADC_MspInit()) only when 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * coming from ADC state reset. Following calls to this function can 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * be used to reconfigure some parameters of ADC_InitTypeDef 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * structure on the fly, without modifying MSP configuration. If ADC 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * MSP has to be modified again, HAL_ADC_DeInit() must be called 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * before HAL_ADC_Init(). 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For parameters constraints, see comments of structure 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * "ADC_InitTypeDef". 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note This function configures the ADC within 2 scopes: scope of entire 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * ADC and scope of regular group. For parameters details, see comments 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * of structure "ADC_InitTypeDef". 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note For devices with several ADCs: parameters related to common ADC 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * registers (ADC clock mode) are set only if all ADCs sharing the 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * same common group are disabled. 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * If this is not the case, these common parameters setting are 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * bypassed without error reporting: it can be the intended behaviour in 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * case of update of a parameter of ADC_InitTypeDef on the fly, 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * without disabling the other ADCs sharing the same common group. 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 29 .loc 1 460 1 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 8 32 @ frame_needed = 1, uses_anonymous_args = 0 33 @ link register save eliminated. 34 0000 80B4 push {r7} 35 .LCFI0: 36 .cfi_def_cfa_offset 4 37 .cfi_offset 7, -4 38 0002 83B0 sub sp, sp, #12 39 .LCFI1: 40 .cfi_def_cfa_offset 16 41 0004 00AF add r7, sp, #0 42 .LCFI2: 43 .cfi_def_cfa_register 7 44 0006 7860 str r0, [r7, #4] 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 45 .loc 1 468 10 46 0008 0123 movs r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 10 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 47 .loc 1 469 1 48 000a 1846 mov r0, r3 49 000c 0C37 adds r7, r7, #12 50 .LCFI3: 51 .cfi_def_cfa_offset 4 52 000e BD46 mov sp, r7 53 .LCFI4: 54 .cfi_def_cfa_register 13 55 @ sp needed 56 0010 5DF8047B ldr r7, [sp], #4 57 .LCFI5: 58 .cfi_restore 7 59 .cfi_def_cfa_offset 0 60 0014 7047 bx lr 61 .cfi_endproc 62 .LFE130: 64 .section .text.HAL_ADC_DeInit,"ax",%progbits 65 .align 1 66 .weak HAL_ADC_DeInit 67 .syntax unified 68 .thumb 69 .thumb_func 71 HAL_ADC_DeInit: 72 .LFB131: 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Deinitialize the ADC peripheral registers to their default reset 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * values, with deinitialization of the ADC MSP. 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note For devices with several ADCs: reset of ADC common registers is done 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * only if all ADCs sharing the same common group are disabled. 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * If this is not the case, reset of these common parameters reset is 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * bypassed without error reporting: it can be the intended behaviour in 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * case of reset of a single ADC while the other ADCs sharing the same 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * common group is still running. 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note For devices with several ADCs: Global reset of all ADCs sharing a 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * common group is possible. 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * As this function is intended to reset a single ADC, to not impact 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * other ADCs, instructions for global reset of multiple ADCs have been 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * let commented below. 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * If needed, the example code can be copied and uncommented into 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * function HAL_ADC_MspDeInit(). 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc) 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 73 .loc 1 491 1 74 .cfi_startproc 75 @ args = 0, pretend = 0, frame = 8 76 @ frame_needed = 1, uses_anonymous_args = 0 77 @ link register save eliminated. 78 0000 80B4 push {r7} 79 .LCFI6: 80 .cfi_def_cfa_offset 4 81 .cfi_offset 7, -4 82 0002 83B0 sub sp, sp, #12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 11 83 .LCFI7: 84 .cfi_def_cfa_offset 16 85 0004 00AF add r7, sp, #0 86 .LCFI8: 87 .cfi_def_cfa_register 7 88 0006 7860 str r0, [r7, #4] 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 89 .loc 1 499 10 90 0008 0123 movs r3, #1 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 91 .loc 1 500 1 92 000a 1846 mov r0, r3 93 000c 0C37 adds r7, r7, #12 94 .LCFI9: 95 .cfi_def_cfa_offset 4 96 000e BD46 mov sp, r7 97 .LCFI10: 98 .cfi_def_cfa_register 13 99 @ sp needed 100 0010 5DF8047B ldr r7, [sp], #4 101 .LCFI11: 102 .cfi_restore 7 103 .cfi_def_cfa_offset 0 104 0014 7047 bx lr 105 .cfi_endproc 106 .LFE131: 108 .section .text.HAL_ADC_MspInit,"ax",%progbits 109 .align 1 110 .weak HAL_ADC_MspInit 111 .syntax unified 112 .thumb 113 .thumb_func 115 HAL_ADC_MspInit: 116 .LFB132: 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Initializes the ADC MSP. 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 117 .loc 1 508 1 118 .cfi_startproc 119 @ args = 0, pretend = 0, frame = 8 120 @ frame_needed = 1, uses_anonymous_args = 0 121 @ link register save eliminated. 122 0000 80B4 push {r7} 123 .LCFI12: 124 .cfi_def_cfa_offset 4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 12 125 .cfi_offset 7, -4 126 0002 83B0 sub sp, sp, #12 127 .LCFI13: 128 .cfi_def_cfa_offset 16 129 0004 00AF add r7, sp, #0 130 .LCFI14: 131 .cfi_def_cfa_register 7 132 0006 7860 str r0, [r7, #4] 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** function HAL_ADC_MspInit must be implemented in the user file. 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 133 .loc 1 515 1 134 0008 00BF nop 135 000a 0C37 adds r7, r7, #12 136 .LCFI15: 137 .cfi_def_cfa_offset 4 138 000c BD46 mov sp, r7 139 .LCFI16: 140 .cfi_def_cfa_register 13 141 @ sp needed 142 000e 5DF8047B ldr r7, [sp], #4 143 .LCFI17: 144 .cfi_restore 7 145 .cfi_def_cfa_offset 0 146 0012 7047 bx lr 147 .cfi_endproc 148 .LFE132: 150 .section .text.HAL_ADC_MspDeInit,"ax",%progbits 151 .align 1 152 .weak HAL_ADC_MspDeInit 153 .syntax unified 154 .thumb 155 .thumb_func 157 HAL_ADC_MspDeInit: 158 .LFB133: 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief DeInitializes the ADC MSP. 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 159 .loc 1 523 1 160 .cfi_startproc 161 @ args = 0, pretend = 0, frame = 8 162 @ frame_needed = 1, uses_anonymous_args = 0 163 @ link register save eliminated. 164 0000 80B4 push {r7} 165 .LCFI18: 166 .cfi_def_cfa_offset 4 167 .cfi_offset 7, -4 168 0002 83B0 sub sp, sp, #12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 13 169 .LCFI19: 170 .cfi_def_cfa_offset 16 171 0004 00AF add r7, sp, #0 172 .LCFI20: 173 .cfi_def_cfa_register 7 174 0006 7860 str r0, [r7, #4] 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** function HAL_ADC_MspDeInit must be implemented in the user file. 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 175 .loc 1 530 1 176 0008 00BF nop 177 000a 0C37 adds r7, r7, #12 178 .LCFI21: 179 .cfi_def_cfa_offset 4 180 000c BD46 mov sp, r7 181 .LCFI22: 182 .cfi_def_cfa_register 13 183 @ sp needed 184 000e 5DF8047B ldr r7, [sp], #4 185 .LCFI23: 186 .cfi_restore 7 187 .cfi_def_cfa_offset 0 188 0012 7047 bx lr 189 .cfi_endproc 190 .LFE133: 192 .section .text.HAL_ADC_Start,"ax",%progbits 193 .align 1 194 .weak HAL_ADC_Start 195 .syntax unified 196 .thumb 197 .thumb_func 199 HAL_ADC_Start: 200 .LFB134: 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Register a User ADC Callback 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * To be used instead of the weak predefined callback 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * the configuration information for the specified ADC. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param CallbackID ID of the callback to be registered 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * This parameter can be one of the following values: 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param pCallback pointer to the Callback function 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 14 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** if (pCallback == NULL) 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Update the error code */ 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0) 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** switch (CallbackID) 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ConvCpltCallback = pCallback; 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ConvHalfCpltCallback = pCallback; 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = pCallback; 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCallback = pCallback; 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID : 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->InjectedConvCpltCallback = pCallback; 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** default : 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Update the error code */ 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return error status */ 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** status = HAL_ERROR; 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** switch (CallbackID) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 15 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** default : 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Update the error code */ 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return error status */ 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** status = HAL_ERROR; 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** else 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Update the error code */ 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return error status */ 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** status = HAL_ERROR; 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return status; 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Unregister a ADC Callback 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * ADC callback is redirected to the weak predefined callback 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * the configuration information for the specified ADC. 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param CallbackID ID of the callback to be unregistered 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * This parameter can be one of the following values: 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0) 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** switch (CallbackID) 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 16 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID : 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** default : 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Update the error code */ 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return error status */ 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** status = HAL_ERROR; 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** switch (CallbackID) 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** default : 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Update the error code */ 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return error status */ 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** status = HAL_ERROR; 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** break; 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 17 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** else 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Update the error code */ 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return error status */ 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** status = HAL_ERROR; 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return status; 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @} 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group2 Input and Output operation functions 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief IO operation functions 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @verbatim 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ##### IO operation functions ##### 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] This section provides functions allowing to: 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Start conversion of regular group. 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Stop conversion of regular group. 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Poll for conversion complete on regular group. 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Poll for conversion event. 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Get result of regular channel conversion. 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Start conversion of regular group and enable interruptions. 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Stop conversion of regular group and disable interruptions. 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Handle ADC interrupt request 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Start conversion of regular group and enable DMA transfer. 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Stop conversion of regular group and disable ADC DMA transfer. 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @endverbatim 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @{ 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group. 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Interruptions enabled in this function: None. 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: Case of multimode enabled (for devices with several ADCs): This 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * function must be called for ADC slave first, then ADC master. 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC slave, ADC is enabled only (conversion is not started). 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC master, ADC is enabled and multimode conversion is started. 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 201 .loc 1 773 1 202 .cfi_startproc 203 @ args = 0, pretend = 0, frame = 8 204 @ frame_needed = 1, uses_anonymous_args = 0 205 @ link register save eliminated. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 18 206 0000 80B4 push {r7} 207 .LCFI24: 208 .cfi_def_cfa_offset 4 209 .cfi_offset 7, -4 210 0002 83B0 sub sp, sp, #12 211 .LCFI25: 212 .cfi_def_cfa_offset 16 213 0004 00AF add r7, sp, #0 214 .LCFI26: 215 .cfi_def_cfa_register 7 216 0006 7860 str r0, [r7, #4] 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 217 .loc 1 778 10 218 0008 0123 movs r3, #1 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 219 .loc 1 779 1 220 000a 1846 mov r0, r3 221 000c 0C37 adds r7, r7, #12 222 .LCFI27: 223 .cfi_def_cfa_offset 4 224 000e BD46 mov sp, r7 225 .LCFI28: 226 .cfi_def_cfa_register 13 227 @ sp needed 228 0010 5DF8047B ldr r7, [sp], #4 229 .LCFI29: 230 .cfi_restore 7 231 .cfi_def_cfa_offset 0 232 0014 7047 bx lr 233 .cfi_endproc 234 .LFE134: 236 .section .text.HAL_ADC_Stop,"ax",%progbits 237 .align 1 238 .weak HAL_ADC_Stop 239 .syntax unified 240 .thumb 241 .thumb_func 243 HAL_ADC_Stop: 244 .LFB135: 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Stop ADC conversion of regular group (and injected group in 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * case of auto_injection mode), disable ADC peripheral. 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: ADC peripheral disable is forcing stop of potential 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * conversion on injected group. If injected group is under use, it 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * should be preliminarily stopped using HAL_ADCEx_InjectedStop function. 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: Case of multimode enabled (for devices with several ADCs): This 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * function must be called for ADC master first, then ADC slave. 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC master, conversion is stopped and ADC is disabled. 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC slave, ADC is disabled only (conversion stop of ADC master 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * has already stopped conversion of ADC slave). 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 19 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 245 .loc 1 796 1 246 .cfi_startproc 247 @ args = 0, pretend = 0, frame = 8 248 @ frame_needed = 1, uses_anonymous_args = 0 249 @ link register save eliminated. 250 0000 80B4 push {r7} 251 .LCFI30: 252 .cfi_def_cfa_offset 4 253 .cfi_offset 7, -4 254 0002 83B0 sub sp, sp, #12 255 .LCFI31: 256 .cfi_def_cfa_offset 16 257 0004 00AF add r7, sp, #0 258 .LCFI32: 259 .cfi_def_cfa_register 7 260 0006 7860 str r0, [r7, #4] 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 261 .loc 1 804 10 262 0008 0123 movs r3, #1 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 263 .loc 1 805 1 264 000a 1846 mov r0, r3 265 000c 0C37 adds r7, r7, #12 266 .LCFI33: 267 .cfi_def_cfa_offset 4 268 000e BD46 mov sp, r7 269 .LCFI34: 270 .cfi_def_cfa_register 13 271 @ sp needed 272 0010 5DF8047B ldr r7, [sp], #4 273 .LCFI35: 274 .cfi_restore 7 275 .cfi_def_cfa_offset 0 276 0014 7047 bx lr 277 .cfi_endproc 278 .LFE135: 280 .section .text.HAL_ADC_PollForConversion,"ax",%progbits 281 .align 1 282 .weak HAL_ADC_PollForConversion 283 .syntax unified 284 .thumb 285 .thumb_func 287 HAL_ADC_PollForConversion: 288 .LFB136: 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Wait for regular group conversion to be completed. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 20 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 289 .loc 1 814 1 290 .cfi_startproc 291 @ args = 0, pretend = 0, frame = 8 292 @ frame_needed = 1, uses_anonymous_args = 0 293 @ link register save eliminated. 294 0000 80B4 push {r7} 295 .LCFI36: 296 .cfi_def_cfa_offset 4 297 .cfi_offset 7, -4 298 0002 83B0 sub sp, sp, #12 299 .LCFI37: 300 .cfi_def_cfa_offset 16 301 0004 00AF add r7, sp, #0 302 .LCFI38: 303 .cfi_def_cfa_register 7 304 0006 7860 str r0, [r7, #4] 305 0008 3960 str r1, [r7] 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(Timeout); 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 306 .loc 1 823 10 307 000a 0123 movs r3, #1 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 308 .loc 1 824 1 309 000c 1846 mov r0, r3 310 000e 0C37 adds r7, r7, #12 311 .LCFI39: 312 .cfi_def_cfa_offset 4 313 0010 BD46 mov sp, r7 314 .LCFI40: 315 .cfi_def_cfa_register 13 316 @ sp needed 317 0012 5DF8047B ldr r7, [sp], #4 318 .LCFI41: 319 .cfi_restore 7 320 .cfi_def_cfa_offset 0 321 0016 7047 bx lr 322 .cfi_endproc 323 .LFE136: 325 .section .text.HAL_ADC_PollForEvent,"ax",%progbits 326 .align 1 327 .weak HAL_ADC_PollForEvent 328 .syntax unified 329 .thumb 330 .thumb_func ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 21 332 HAL_ADC_PollForEvent: 333 .LFB137: 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Poll for conversion event. 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param EventType the ADC event type. 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * This parameter can be one of the following values: 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg ADC_AWD_EVENT: ADC Analog watchdog 1 event (main analog watchdog, present on al 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg ADC_AWD2_EVENT: ADC Analog watchdog 2 event (additional analog watchdog, presen 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg ADC_AWD3_EVENT: ADC Analog watchdog 3 event (additional analog watchdog, presen 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg ADC_OVR_EVENT: ADC Overrun event 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @arg ADC_JQOVF_EVENT: ADC Injected context queue overflow event 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 334 .loc 1 840 1 335 .cfi_startproc 336 @ args = 0, pretend = 0, frame = 16 337 @ frame_needed = 1, uses_anonymous_args = 0 338 @ link register save eliminated. 339 0000 80B4 push {r7} 340 .LCFI42: 341 .cfi_def_cfa_offset 4 342 .cfi_offset 7, -4 343 0002 85B0 sub sp, sp, #20 344 .LCFI43: 345 .cfi_def_cfa_offset 24 346 0004 00AF add r7, sp, #0 347 .LCFI44: 348 .cfi_def_cfa_register 7 349 0006 F860 str r0, [r7, #12] 350 0008 B960 str r1, [r7, #8] 351 000a 7A60 str r2, [r7, #4] 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(EventType); 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(Timeout); 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 352 .loc 1 850 10 353 000c 0123 movs r3, #1 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 354 .loc 1 851 1 355 000e 1846 mov r0, r3 356 0010 1437 adds r7, r7, #20 357 .LCFI45: 358 .cfi_def_cfa_offset 4 359 0012 BD46 mov sp, r7 360 .LCFI46: 361 .cfi_def_cfa_register 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 22 362 @ sp needed 363 0014 5DF8047B ldr r7, [sp], #4 364 .LCFI47: 365 .cfi_restore 7 366 .cfi_def_cfa_offset 0 367 0018 7047 bx lr 368 .cfi_endproc 369 .LFE137: 371 .section .text.HAL_ADC_Start_IT,"ax",%progbits 372 .align 1 373 .weak HAL_ADC_Start_IT 374 .syntax unified 375 .thumb 376 .thumb_func 378 HAL_ADC_Start_IT: 379 .LFB138: 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group with interruption. 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Interruptions enabled in this function: 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * - EOC (end of conversion of regular group) or EOS (end of 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * sequence of regular group) depending on ADC initialization 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * parameter "EOCSelection" (if available) 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * - overrun (if available) 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function. 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: Case of multimode enabled (for devices with several ADCs): This 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * function must be called for ADC slave first, then ADC master. 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC slave, ADC is enabled only (conversion is not started). 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC master, ADC is enabled and multimode conversion is started. 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 380 .loc 1 869 1 381 .cfi_startproc 382 @ args = 0, pretend = 0, frame = 8 383 @ frame_needed = 1, uses_anonymous_args = 0 384 @ link register save eliminated. 385 0000 80B4 push {r7} 386 .LCFI48: 387 .cfi_def_cfa_offset 4 388 .cfi_offset 7, -4 389 0002 83B0 sub sp, sp, #12 390 .LCFI49: 391 .cfi_def_cfa_offset 16 392 0004 00AF add r7, sp, #0 393 .LCFI50: 394 .cfi_def_cfa_register 7 395 0006 7860 str r0, [r7, #4] 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 23 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 396 .loc 1 877 10 397 0008 0123 movs r3, #1 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 398 .loc 1 878 1 399 000a 1846 mov r0, r3 400 000c 0C37 adds r7, r7, #12 401 .LCFI51: 402 .cfi_def_cfa_offset 4 403 000e BD46 mov sp, r7 404 .LCFI52: 405 .cfi_def_cfa_register 13 406 @ sp needed 407 0010 5DF8047B ldr r7, [sp], #4 408 .LCFI53: 409 .cfi_restore 7 410 .cfi_def_cfa_offset 0 411 0014 7047 bx lr 412 .cfi_endproc 413 .LFE138: 415 .section .text.HAL_ADC_Stop_IT,"ax",%progbits 416 .align 1 417 .weak HAL_ADC_Stop_IT 418 .syntax unified 419 .thumb 420 .thumb_func 422 HAL_ADC_Stop_IT: 423 .LFB139: 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Stop ADC conversion of regular group (and injected group in 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * case of auto_injection mode), disable interruption of 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * end-of-conversion, disable ADC peripheral. 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: ADC peripheral disable is forcing stop of potential 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * conversion on injected group. If injected group is under use, it 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * should be preliminarily stopped using HAL_ADCEx_InjectedStop function. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: Case of multimode enabled (for devices with several ADCs): This 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * function must be called for ADC master first, then ADC slave. 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC master, conversion is stopped and ADC is disabled. 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For ADC slave, ADC is disabled only (conversion stop of ADC master 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * has already stopped conversion of ADC slave). 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status. 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc) 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 424 .loc 1 896 1 425 .cfi_startproc 426 @ args = 0, pretend = 0, frame = 8 427 @ frame_needed = 1, uses_anonymous_args = 0 428 @ link register save eliminated. 429 0000 80B4 push {r7} 430 .LCFI54: 431 .cfi_def_cfa_offset 4 432 .cfi_offset 7, -4 433 0002 83B0 sub sp, sp, #12 434 .LCFI55: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 24 435 .cfi_def_cfa_offset 16 436 0004 00AF add r7, sp, #0 437 .LCFI56: 438 .cfi_def_cfa_register 7 439 0006 7860 str r0, [r7, #4] 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 440 .loc 1 904 10 441 0008 0123 movs r3, #1 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 442 .loc 1 905 1 443 000a 1846 mov r0, r3 444 000c 0C37 adds r7, r7, #12 445 .LCFI57: 446 .cfi_def_cfa_offset 4 447 000e BD46 mov sp, r7 448 .LCFI58: 449 .cfi_def_cfa_register 13 450 @ sp needed 451 0010 5DF8047B ldr r7, [sp], #4 452 .LCFI59: 453 .cfi_restore 7 454 .cfi_def_cfa_offset 0 455 0014 7047 bx lr 456 .cfi_endproc 457 .LFE139: 459 .section .text.HAL_ADC_Start_DMA,"ax",%progbits 460 .align 1 461 .weak HAL_ADC_Start_DMA 462 .syntax unified 463 .thumb 464 .thumb_func 466 HAL_ADC_Start_DMA: 467 .LFB140: 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group and transfers result 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * through DMA. 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Interruptions enabled in this function: 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * - DMA transfer complete 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * - DMA half transfer 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * - overrun (if available) 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function. 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: Case of multimode enabled (for devices with several ADCs): This 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * function is for single-ADC mode only. For multimode, use the 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * dedicated MultimodeStart function. 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param pData The destination Buffer address. 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param Length The length of data to be transferred from ADC peripheral to memory. 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 25 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Lengt 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 468 .loc 1 924 1 469 .cfi_startproc 470 @ args = 0, pretend = 0, frame = 16 471 @ frame_needed = 1, uses_anonymous_args = 0 472 @ link register save eliminated. 473 0000 80B4 push {r7} 474 .LCFI60: 475 .cfi_def_cfa_offset 4 476 .cfi_offset 7, -4 477 0002 85B0 sub sp, sp, #20 478 .LCFI61: 479 .cfi_def_cfa_offset 24 480 0004 00AF add r7, sp, #0 481 .LCFI62: 482 .cfi_def_cfa_register 7 483 0006 F860 str r0, [r7, #12] 484 0008 B960 str r1, [r7, #8] 485 000a 7A60 str r2, [r7, #4] 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(pData); 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(Length); 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 486 .loc 1 934 10 487 000c 0123 movs r3, #1 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 488 .loc 1 935 1 489 000e 1846 mov r0, r3 490 0010 1437 adds r7, r7, #20 491 .LCFI63: 492 .cfi_def_cfa_offset 4 493 0012 BD46 mov sp, r7 494 .LCFI64: 495 .cfi_def_cfa_register 13 496 @ sp needed 497 0014 5DF8047B ldr r7, [sp], #4 498 .LCFI65: 499 .cfi_restore 7 500 .cfi_def_cfa_offset 0 501 0018 7047 bx lr 502 .cfi_endproc 503 .LFE140: 505 .section .text.HAL_ADC_Stop_DMA,"ax",%progbits 506 .align 1 507 .weak HAL_ADC_Stop_DMA 508 .syntax unified 509 .thumb 510 .thumb_func 512 HAL_ADC_Stop_DMA: 513 .LFB141: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 26 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Stop ADC conversion of regular group (and injected group in 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * case of auto_injection mode), disable ADC DMA transfer, disable 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * ADC peripheral. 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: ADC peripheral disable is forcing stop of potential 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * conversion on injected group. If injected group is under use, it 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * should be preliminarily stopped using HAL_ADCEx_InjectedStop function. 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note: Case of multimode enabled (for devices with several ADCs): This 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * function is for single-ADC mode only. For multimode, use the 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * dedicated MultimodeStop function. 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status. 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc) 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 514 .loc 1 951 1 515 .cfi_startproc 516 @ args = 0, pretend = 0, frame = 8 517 @ frame_needed = 1, uses_anonymous_args = 0 518 @ link register save eliminated. 519 0000 80B4 push {r7} 520 .LCFI66: 521 .cfi_def_cfa_offset 4 522 .cfi_offset 7, -4 523 0002 83B0 sub sp, sp, #12 524 .LCFI67: 525 .cfi_def_cfa_offset 16 526 0004 00AF add r7, sp, #0 527 .LCFI68: 528 .cfi_def_cfa_register 7 529 0006 7860 str r0, [r7, #4] 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 530 .loc 1 959 10 531 0008 0123 movs r3, #1 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 532 .loc 1 960 1 533 000a 1846 mov r0, r3 534 000c 0C37 adds r7, r7, #12 535 .LCFI69: 536 .cfi_def_cfa_offset 4 537 000e BD46 mov sp, r7 538 .LCFI70: 539 .cfi_def_cfa_register 13 540 @ sp needed 541 0010 5DF8047B ldr r7, [sp], #4 542 .LCFI71: 543 .cfi_restore 7 544 .cfi_def_cfa_offset 0 545 0014 7047 bx lr ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 27 546 .cfi_endproc 547 .LFE141: 549 .section .text.HAL_ADC_GetValue,"ax",%progbits 550 .align 1 551 .weak HAL_ADC_GetValue 552 .syntax unified 553 .thumb 554 .thumb_func 556 HAL_ADC_GetValue: 557 .LFB142: 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Get ADC regular group conversion result. 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note Reading DR register automatically clears EOC (end of conversion of 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * regular group) flag. 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Additionally, this functions clears EOS (end of sequence of 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * regular group) flag, in case of the end of the sequence is reached. 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval Converted value 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc) 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 558 .loc 1 972 1 559 .cfi_startproc 560 @ args = 0, pretend = 0, frame = 8 561 @ frame_needed = 1, uses_anonymous_args = 0 562 @ link register save eliminated. 563 0000 80B4 push {r7} 564 .LCFI72: 565 .cfi_def_cfa_offset 4 566 .cfi_offset 7, -4 567 0002 83B0 sub sp, sp, #12 568 .LCFI73: 569 .cfi_def_cfa_offset 16 570 0004 00AF add r7, sp, #0 571 .LCFI74: 572 .cfi_def_cfa_register 7 573 0006 7860 str r0, [r7, #4] 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return ADC converted value */ 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return hadc->Instance->DR; 574 .loc 1 977 14 575 0008 7B68 ldr r3, [r7, #4] 576 000a 1B68 ldr r3, [r3] 577 .loc 1 977 24 578 000c 1B6C ldr r3, [r3, #64] 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 579 .loc 1 978 1 580 000e 1846 mov r0, r3 581 0010 0C37 adds r7, r7, #12 582 .LCFI75: 583 .cfi_def_cfa_offset 4 584 0012 BD46 mov sp, r7 585 .LCFI76: 586 .cfi_def_cfa_register 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 28 587 @ sp needed 588 0014 5DF8047B ldr r7, [sp], #4 589 .LCFI77: 590 .cfi_restore 7 591 .cfi_def_cfa_offset 0 592 0018 7047 bx lr 593 .cfi_endproc 594 .LFE142: 596 .section .text.HAL_ADC_IRQHandler,"ax",%progbits 597 .align 1 598 .weak HAL_ADC_IRQHandler 599 .syntax unified 600 .thumb 601 .thumb_func 603 HAL_ADC_IRQHandler: 604 .LFB143: 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Handles ADC interrupt request. 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc) 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 605 .loc 1 986 1 606 .cfi_startproc 607 @ args = 0, pretend = 0, frame = 8 608 @ frame_needed = 1, uses_anonymous_args = 0 609 @ link register save eliminated. 610 0000 80B4 push {r7} 611 .LCFI78: 612 .cfi_def_cfa_offset 4 613 .cfi_offset 7, -4 614 0002 83B0 sub sp, sp, #12 615 .LCFI79: 616 .cfi_def_cfa_offset 16 617 0004 00AF add r7, sp, #0 618 .LCFI80: 619 .cfi_def_cfa_register 7 620 0006 7860 str r0, [r7, #4] 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 621 .loc 1 992 1 622 0008 00BF nop 623 000a 0C37 adds r7, r7, #12 624 .LCFI81: 625 .cfi_def_cfa_offset 4 626 000c BD46 mov sp, r7 627 .LCFI82: 628 .cfi_def_cfa_register 13 629 @ sp needed 630 000e 5DF8047B ldr r7, [sp], #4 631 .LCFI83: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 29 632 .cfi_restore 7 633 .cfi_def_cfa_offset 0 634 0012 7047 bx lr 635 .cfi_endproc 636 .LFE143: 638 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits 639 .align 1 640 .weak HAL_ADC_ConvCpltCallback 641 .syntax unified 642 .thumb 643 .thumb_func 645 HAL_ADC_ConvCpltCallback: 646 .LFB144: 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Conversion complete callback in non blocking mode 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 647 .loc 1 1000 1 648 .cfi_startproc 649 @ args = 0, pretend = 0, frame = 8 650 @ frame_needed = 1, uses_anonymous_args = 0 651 @ link register save eliminated. 652 0000 80B4 push {r7} 653 .LCFI84: 654 .cfi_def_cfa_offset 4 655 .cfi_offset 7, -4 656 0002 83B0 sub sp, sp, #12 657 .LCFI85: 658 .cfi_def_cfa_offset 16 659 0004 00AF add r7, sp, #0 660 .LCFI86: 661 .cfi_def_cfa_register 7 662 0006 7860 str r0, [r7, #4] 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** function HAL_ADC_ConvCpltCallback must be implemented in the user file. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 663 .loc 1 1007 1 664 0008 00BF nop 665 000a 0C37 adds r7, r7, #12 666 .LCFI87: 667 .cfi_def_cfa_offset 4 668 000c BD46 mov sp, r7 669 .LCFI88: 670 .cfi_def_cfa_register 13 671 @ sp needed 672 000e 5DF8047B ldr r7, [sp], #4 673 .LCFI89: 674 .cfi_restore 7 675 .cfi_def_cfa_offset 0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 30 676 0012 7047 bx lr 677 .cfi_endproc 678 .LFE144: 680 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits 681 .align 1 682 .weak HAL_ADC_ConvHalfCpltCallback 683 .syntax unified 684 .thumb 685 .thumb_func 687 HAL_ADC_ConvHalfCpltCallback: 688 .LFB145: 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Conversion DMA half-transfer callback in non blocking mode 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 689 .loc 1 1015 1 690 .cfi_startproc 691 @ args = 0, pretend = 0, frame = 8 692 @ frame_needed = 1, uses_anonymous_args = 0 693 @ link register save eliminated. 694 0000 80B4 push {r7} 695 .LCFI90: 696 .cfi_def_cfa_offset 4 697 .cfi_offset 7, -4 698 0002 83B0 sub sp, sp, #12 699 .LCFI91: 700 .cfi_def_cfa_offset 16 701 0004 00AF add r7, sp, #0 702 .LCFI92: 703 .cfi_def_cfa_register 7 704 0006 7860 str r0, [r7, #4] 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** function HAL_ADC_ConvHalfCpltCallback must be implemented in the user file. 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 705 .loc 1 1022 1 706 0008 00BF nop 707 000a 0C37 adds r7, r7, #12 708 .LCFI93: 709 .cfi_def_cfa_offset 4 710 000c BD46 mov sp, r7 711 .LCFI94: 712 .cfi_def_cfa_register 13 713 @ sp needed 714 000e 5DF8047B ldr r7, [sp], #4 715 .LCFI95: 716 .cfi_restore 7 717 .cfi_def_cfa_offset 0 718 0012 7047 bx lr 719 .cfi_endproc ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 31 720 .LFE145: 722 .section .text.HAL_ADC_LevelOutOfWindowCallback,"ax",%progbits 723 .align 1 724 .weak HAL_ADC_LevelOutOfWindowCallback 725 .syntax unified 726 .thumb 727 .thumb_func 729 HAL_ADC_LevelOutOfWindowCallback: 730 .LFB146: 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Analog watchdog callback in non blocking mode. 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc) 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 731 .loc 1 1030 1 732 .cfi_startproc 733 @ args = 0, pretend = 0, frame = 8 734 @ frame_needed = 1, uses_anonymous_args = 0 735 @ link register save eliminated. 736 0000 80B4 push {r7} 737 .LCFI96: 738 .cfi_def_cfa_offset 4 739 .cfi_offset 7, -4 740 0002 83B0 sub sp, sp, #12 741 .LCFI97: 742 .cfi_def_cfa_offset 16 743 0004 00AF add r7, sp, #0 744 .LCFI98: 745 .cfi_def_cfa_register 7 746 0006 7860 str r0, [r7, #4] 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** function HAL_ADC_LevelOoutOfWindowCallback must be implemented in the user file. 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 747 .loc 1 1037 1 748 0008 00BF nop 749 000a 0C37 adds r7, r7, #12 750 .LCFI99: 751 .cfi_def_cfa_offset 4 752 000c BD46 mov sp, r7 753 .LCFI100: 754 .cfi_def_cfa_register 13 755 @ sp needed 756 000e 5DF8047B ldr r7, [sp], #4 757 .LCFI101: 758 .cfi_restore 7 759 .cfi_def_cfa_offset 0 760 0012 7047 bx lr 761 .cfi_endproc 762 .LFE146: 764 .section .text.HAL_ADC_ErrorCallback,"ax",%progbits ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 32 765 .align 1 766 .weak HAL_ADC_ErrorCallback 767 .syntax unified 768 .thumb 769 .thumb_func 771 HAL_ADC_ErrorCallback: 772 .LFB147: 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief ADC error callback in non blocking mode 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * (ADC conversion with interruption or transfer by DMA) 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval None 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 773 .loc 1 1046 1 774 .cfi_startproc 775 @ args = 0, pretend = 0, frame = 8 776 @ frame_needed = 1, uses_anonymous_args = 0 777 @ link register save eliminated. 778 0000 80B4 push {r7} 779 .LCFI102: 780 .cfi_def_cfa_offset 4 781 .cfi_offset 7, -4 782 0002 83B0 sub sp, sp, #12 783 .LCFI103: 784 .cfi_def_cfa_offset 16 785 0004 00AF add r7, sp, #0 786 .LCFI104: 787 .cfi_def_cfa_register 7 788 0006 7860 str r0, [r7, #4] 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** function HAL_ADC_ErrorCallback must be implemented in the user file. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 789 .loc 1 1053 1 790 0008 00BF nop 791 000a 0C37 adds r7, r7, #12 792 .LCFI105: 793 .cfi_def_cfa_offset 4 794 000c BD46 mov sp, r7 795 .LCFI106: 796 .cfi_def_cfa_register 13 797 @ sp needed 798 000e 5DF8047B ldr r7, [sp], #4 799 .LCFI107: 800 .cfi_restore 7 801 .cfi_def_cfa_offset 0 802 0012 7047 bx lr 803 .cfi_endproc 804 .LFE147: 806 .section .text.HAL_ADC_ConfigChannel,"ax",%progbits 807 .align 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 33 808 .weak HAL_ADC_ConfigChannel 809 .syntax unified 810 .thumb 811 .thumb_func 813 HAL_ADC_ConfigChannel: 814 .LFB148: 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @} 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Peripheral Control functions 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @verbatim 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ##### Peripheral Control functions ##### 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] This section provides functions allowing to: 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Configure channels on regular group 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Configure the analog watchdog 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @endverbatim 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @{ 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Configures the the selected channel to be linked to the regular 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * group. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note In case of usage of internal measurement channels: 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Vbat/VrefInt/TempSensor. 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * The recommended sampling time is at least: 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * - For devices STM32F37x: 17.1us for temperature sensor 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * - For the other STM32F3 devices: 2.2us for each of channels 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * Vbat/VrefInt/TempSensor. 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * These internal paths can be be disabled using function 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * HAL_ADC_DeInit(). 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note Possibility to update parameters on the fly: 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * This function initializes channel into regular group, following 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * of structure "ADC_ChannelConfTypeDef" on the fly, without resetting 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * the ADC. 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state. 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For parameters constraints, see comments of structure 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * "ADC_ChannelConfTypeDef". 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param sConfig Structure of ADC channel for regular group. 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sCo 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 815 .loc 1 1098 1 816 .cfi_startproc 817 @ args = 0, pretend = 0, frame = 8 818 @ frame_needed = 1, uses_anonymous_args = 0 819 @ link register save eliminated. 820 0000 80B4 push {r7} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 34 821 .LCFI108: 822 .cfi_def_cfa_offset 4 823 .cfi_offset 7, -4 824 0002 83B0 sub sp, sp, #12 825 .LCFI109: 826 .cfi_def_cfa_offset 16 827 0004 00AF add r7, sp, #0 828 .LCFI110: 829 .cfi_def_cfa_register 7 830 0006 7860 str r0, [r7, #4] 831 0008 3960 str r1, [r7] 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(sConfig); 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 832 .loc 1 1107 10 833 000a 0123 movs r3, #1 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 834 .loc 1 1108 1 835 000c 1846 mov r0, r3 836 000e 0C37 adds r7, r7, #12 837 .LCFI111: 838 .cfi_def_cfa_offset 4 839 0010 BD46 mov sp, r7 840 .LCFI112: 841 .cfi_def_cfa_register 13 842 @ sp needed 843 0012 5DF8047B ldr r7, [sp], #4 844 .LCFI113: 845 .cfi_restore 7 846 .cfi_def_cfa_offset 0 847 0016 7047 bx lr 848 .cfi_endproc 849 .LFE148: 851 .section .text.HAL_ADC_AnalogWDGConfig,"ax",%progbits 852 .align 1 853 .weak HAL_ADC_AnalogWDGConfig 854 .syntax unified 855 .thumb 856 .thumb_func 858 HAL_ADC_AnalogWDGConfig: 859 .LFB149: 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Configures the analog watchdog. 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note Possibility to update parameters on the fly: 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * This function initializes the selected analog watchdog, following 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * of structure "ADC_AnalogWDGConfTypeDef" on the fly, without resetting 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * the ADC. 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state. 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For parameters constraints, see comments of structure ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 35 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * "ADC_AnalogWDGConfTypeDef". 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param AnalogWDGConfig Structure of ADC analog watchdog configuration 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL status 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** __weak HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 860 .loc 1 1125 1 861 .cfi_startproc 862 @ args = 0, pretend = 0, frame = 8 863 @ frame_needed = 1, uses_anonymous_args = 0 864 @ link register save eliminated. 865 0000 80B4 push {r7} 866 .LCFI114: 867 .cfi_def_cfa_offset 4 868 .cfi_offset 7, -4 869 0002 83B0 sub sp, sp, #12 870 .LCFI115: 871 .cfi_def_cfa_offset 16 872 0004 00AF add r7, sp, #0 873 .LCFI116: 874 .cfi_def_cfa_register 7 875 0006 7860 str r0, [r7, #4] 876 0008 3960 str r1, [r7] 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(hadc); 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** UNUSED(AnalogWDGConfig); 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Note : This function is defined into this file for library reference. */ 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Function content is located into file stm32f3xx_hal_adc_ex.c */ 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return function status */ 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return HAL_ERROR; 877 .loc 1 1134 10 878 000a 0123 movs r3, #1 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 879 .loc 1 1135 1 880 000c 1846 mov r0, r3 881 000e 0C37 adds r7, r7, #12 882 .LCFI117: 883 .cfi_def_cfa_offset 4 884 0010 BD46 mov sp, r7 885 .LCFI118: 886 .cfi_def_cfa_register 13 887 @ sp needed 888 0012 5DF8047B ldr r7, [sp], #4 889 .LCFI119: 890 .cfi_restore 7 891 .cfi_def_cfa_offset 0 892 0016 7047 bx lr 893 .cfi_endproc 894 .LFE149: 896 .section .rodata 897 .align 2 898 .LC0: 899 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc." 899 6572732F ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 36 899 53544D33 899 32463378 899 785F4841 900 0033 6300 .ascii "c\000" 901 .section .text.HAL_ADC_GetState,"ax",%progbits 902 .align 1 903 .global HAL_ADC_GetState 904 .syntax unified 905 .thumb 906 .thumb_func 908 HAL_ADC_GetState: 909 .LFB150: 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @} 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group4 Peripheral State functions 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief ADC Peripheral State functions 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @verbatim 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** ##### Peripheral state and errors functions ##### 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** =============================================================================== 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** [..] 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** This subsection provides functions to get in run-time the status of the 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** peripheral. 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Check the ADC state 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** (+) Check the ADC error code 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** @endverbatim 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @{ 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief return the ADC state 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @note ADC state machine is managed by bitfield, state must be compared 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * with bit by bit. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * For example: 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_REG_BUSY)) " 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_AWD1) ) " 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval HAL state 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc) 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 910 .loc 1 1169 1 911 .cfi_startproc 912 @ args = 0, pretend = 0, frame = 8 913 @ frame_needed = 1, uses_anonymous_args = 0 914 0000 80B5 push {r7, lr} 915 .LCFI120: 916 .cfi_def_cfa_offset 8 917 .cfi_offset 7, -8 918 .cfi_offset 14, -4 919 0002 82B0 sub sp, sp, #8 920 .LCFI121: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 37 921 .cfi_def_cfa_offset 16 922 0004 00AF add r7, sp, #0 923 .LCFI122: 924 .cfi_def_cfa_register 7 925 0006 7860 str r0, [r7, #4] 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Check the parameters */ 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 926 .loc 1 1171 3 927 0008 7B68 ldr r3, [r7, #4] 928 000a 1B68 ldr r3, [r3] 929 000c B3F1A04F cmp r3, #1342177280 930 0010 09D0 beq .L35 931 .loc 1 1171 3 is_stmt 0 discriminator 1 932 0012 7B68 ldr r3, [r7, #4] 933 0014 1B68 ldr r3, [r3] 934 0016 074A ldr r2, .L37 935 0018 9342 cmp r3, r2 936 001a 04D0 beq .L35 937 .loc 1 1171 3 discriminator 2 938 001c 40F29341 movw r1, #1171 939 0020 0548 ldr r0, .L37+4 940 0022 FFF7FEFF bl assert_failed 941 .L35: 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /* Return ADC state */ 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return hadc->State; 942 .loc 1 1174 14 is_stmt 1 943 0026 7B68 ldr r3, [r7, #4] 944 0028 1B6C ldr r3, [r3, #64] 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 945 .loc 1 1175 1 946 002a 1846 mov r0, r3 947 002c 0837 adds r7, r7, #8 948 .LCFI123: 949 .cfi_def_cfa_offset 8 950 002e BD46 mov sp, r7 951 .LCFI124: 952 .cfi_def_cfa_register 13 953 @ sp needed 954 0030 80BD pop {r7, pc} 955 .L38: 956 0032 00BF .align 2 957 .L37: 958 0034 00010050 .word 1342177536 959 0038 00000000 .word .LC0 960 .cfi_endproc 961 .LFE150: 963 .section .text.HAL_ADC_GetError,"ax",%progbits 964 .align 1 965 .global HAL_ADC_GetError 966 .syntax unified 967 .thumb 968 .thumb_func 970 HAL_ADC_GetError: 971 .LFB151: 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** /** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 38 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @brief Return the ADC error code 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @param hadc ADC handle 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** * @retval ADC Error Code 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** */ 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc) 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** { 972 .loc 1 1183 1 973 .cfi_startproc 974 @ args = 0, pretend = 0, frame = 8 975 @ frame_needed = 1, uses_anonymous_args = 0 976 @ link register save eliminated. 977 0000 80B4 push {r7} 978 .LCFI125: 979 .cfi_def_cfa_offset 4 980 .cfi_offset 7, -4 981 0002 83B0 sub sp, sp, #12 982 .LCFI126: 983 .cfi_def_cfa_offset 16 984 0004 00AF add r7, sp, #0 985 .LCFI127: 986 .cfi_def_cfa_register 7 987 0006 7860 str r0, [r7, #4] 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** return hadc->ErrorCode; 988 .loc 1 1184 14 989 0008 7B68 ldr r3, [r7, #4] 990 000a 5B6C ldr r3, [r3, #68] 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_adc.c **** } 991 .loc 1 1185 1 992 000c 1846 mov r0, r3 993 000e 0C37 adds r7, r7, #12 994 .LCFI128: 995 .cfi_def_cfa_offset 4 996 0010 BD46 mov sp, r7 997 .LCFI129: 998 .cfi_def_cfa_register 13 999 @ sp needed 1000 0012 5DF8047B ldr r7, [sp], #4 1001 .LCFI130: 1002 .cfi_restore 7 1003 .cfi_def_cfa_offset 0 1004 0016 7047 bx lr 1005 .cfi_endproc 1006 .LFE151: 1008 .text 1009 .Letext0: 1010 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 1011 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 1012 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 1013 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 1014 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 1015 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 1016 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_adc_ex.h" 1017 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_adc.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s page 39 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_adc.c C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:20 .text.HAL_ADC_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:26 .text.HAL_ADC_Init:00000000 HAL_ADC_Init C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:65 .text.HAL_ADC_DeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:71 .text.HAL_ADC_DeInit:00000000 HAL_ADC_DeInit C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:109 .text.HAL_ADC_MspInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:115 .text.HAL_ADC_MspInit:00000000 HAL_ADC_MspInit C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:151 .text.HAL_ADC_MspDeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:157 .text.HAL_ADC_MspDeInit:00000000 HAL_ADC_MspDeInit C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:193 .text.HAL_ADC_Start:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:199 .text.HAL_ADC_Start:00000000 HAL_ADC_Start C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:237 .text.HAL_ADC_Stop:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:243 .text.HAL_ADC_Stop:00000000 HAL_ADC_Stop C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:281 .text.HAL_ADC_PollForConversion:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:287 .text.HAL_ADC_PollForConversion:00000000 HAL_ADC_PollForConversion C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:326 .text.HAL_ADC_PollForEvent:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:332 .text.HAL_ADC_PollForEvent:00000000 HAL_ADC_PollForEvent C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:372 .text.HAL_ADC_Start_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:378 .text.HAL_ADC_Start_IT:00000000 HAL_ADC_Start_IT C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:416 .text.HAL_ADC_Stop_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:422 .text.HAL_ADC_Stop_IT:00000000 HAL_ADC_Stop_IT C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:460 .text.HAL_ADC_Start_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:466 .text.HAL_ADC_Start_DMA:00000000 HAL_ADC_Start_DMA C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:506 .text.HAL_ADC_Stop_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:512 .text.HAL_ADC_Stop_DMA:00000000 HAL_ADC_Stop_DMA C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:550 .text.HAL_ADC_GetValue:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:556 .text.HAL_ADC_GetValue:00000000 HAL_ADC_GetValue C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:597 .text.HAL_ADC_IRQHandler:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:603 .text.HAL_ADC_IRQHandler:00000000 HAL_ADC_IRQHandler C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:639 .text.HAL_ADC_ConvCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:645 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:681 .text.HAL_ADC_ConvHalfCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:687 .text.HAL_ADC_ConvHalfCpltCallback:00000000 HAL_ADC_ConvHalfCpltCallback C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:723 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:729 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 HAL_ADC_LevelOutOfWindowCallback C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:765 .text.HAL_ADC_ErrorCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:771 .text.HAL_ADC_ErrorCallback:00000000 HAL_ADC_ErrorCallback C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:807 .text.HAL_ADC_ConfigChannel:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:813 .text.HAL_ADC_ConfigChannel:00000000 HAL_ADC_ConfigChannel C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:852 .text.HAL_ADC_AnalogWDGConfig:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:858 .text.HAL_ADC_AnalogWDGConfig:00000000 HAL_ADC_AnalogWDGConfig C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:897 .rodata:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:902 .text.HAL_ADC_GetState:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:908 .text.HAL_ADC_GetState:00000000 HAL_ADC_GetState C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:958 .text.HAL_ADC_GetState:00000034 $d C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:964 .text.HAL_ADC_GetError:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccchPHvs.s:970 .text.HAL_ADC_GetError:00000000 HAL_ADC_GetError UNDEFINED SYMBOLS assert_failed