ARM GAS /tmp/cc2rPMmj.s page 1 1 .cpu cortex-m0 2 .arch armv6s-m 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 1 11 .eabi_attribute 34, 0 12 .eabi_attribute 18, 4 13 .file "stm32f0xx_hal_adc.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c" 18 .section .text.ADC_ConversionStop,"ax",%progbits 19 .align 1 20 .syntax unified 21 .code 16 22 .thumb_func 24 ADC_ConversionStop: 25 .LVL0: 26 .LFB64: 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ****************************************************************************** 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @file stm32f0xx_hal_adc.c 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @author MCD Application Team 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief This file provides firmware functions to manage the following 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * functionalities of the Analog to Digital Convertor (ADC) 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * peripheral: 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Peripheral Control functions 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Peripheral State functions 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Other functions (extended functions) are available in file 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "stm32f0xx_hal_adc_ex.c". 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ****************************************************************************** 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @attention 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Copyright (c) 2016 STMicroelectronics. 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * All rights reserved. 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This software is licensed under terms that can be found in the LICENSE file 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * in the root directory of this software component. 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ****************************************************************************** 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================================== 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### ADC peripheral features ##### 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================================== 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Interrupt generation at the end of regular conversion and in case of ARM GAS /tmp/cc2rPMmj.s page 2 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** analog watchdog or overrun events. 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Single and continuous conversion modes. 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Scan mode for conversion of several channels sequentially. 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Data alignment with in-built data coherency. 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Programmable sampling time (common for all channels) 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC conversion of regular group. 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) External trigger (timer or EXTI) with configurable polarity 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) DMA request generation for transfer of conversions data of regular group. 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC calibration 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC supply requirements: 2.4 V to 3.6 V at full speed and down to 1.8 V at 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** slower speed. 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC input range: from Vref- (connected to Vssa) to Vref+ (connected to 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Vdda or to an external voltage reference). 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### How to use this driver ##### 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================================== 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Configuration of top level parameters related to ADC *** 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Enable the ADC interface 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) As prerequisite, ADC clock must be configured at RCC top level. 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Caution: On STM32F0, ADC clock frequency max is 14MHz (refer 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** to device datasheet). 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Therefore, ADC clock prescaler must be configured in 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function of ADC clock source frequency to remain below 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** this maximum frequency. 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Two clock settings are mandatory: 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) ADC clock (core clock, also possibly conversion clock). 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) ADC clock (conversions clock). 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Two possible clock sources: synchronous clock derived from APB clock 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** or asynchronous clock derived from ADC dedicated HSI RC oscillator 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 14MHz. 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** If asynchronous clock is selected, parameter "HSI14State" must be set either: 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** - to "...HSI14State = RCC_HSI14_ADC_CONTROL" to let the ADC control 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** the HSI14 oscillator enable/disable (if not used to supply the main 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** system clock): feature used if ADC mode LowPowerAutoPowerOff is 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** enabled. 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** - to "...HSI14State = RCC_HSI14_ON" to maintain the HSI14 oscillator 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** always enabled: can be used to supply the main system clock. 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Example: ARM GAS /tmp/cc2rPMmj.s page 3 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Into HAL_ADC_MspInit() (recommended code location) or with 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** other device clock parameters configuration: 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) __HAL_RCC_ADC1_CLK_ENABLE(); (mandatory) 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HI14 enable or let under control of ADC: (optional: if asynchronous clock 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitTypeDef RCC_OscInitStructure; 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI14; 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT; 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14State = RCC_HSI14_ADC_CONTROL; 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.PLL... (optional if used for system clock) 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure); 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock source and clock prescaler are configured at ADC level with 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** parameter "ClockPrescaler" using function HAL_ADC_Init(). 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC pins configuration 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Enable the clock for the ADC GPIOs 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_ENABLE() 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure these ADC pins in analog mode 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_GPIO_Init() 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions: 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the NVIC for ADC 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(ADCx_IRQn) 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler() 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** into the function of corresponding ADC interruption vector 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADCx_IRQHandler(). 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of DMA: 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the DMA (DMA channel, mode normal or circular, ...) 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_DMA_Init(). 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the NVIC for DMA 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(DMAx_Channelx_IRQn) 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler() 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** into the function of corresponding DMA interruption vector 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** DMAx_Channelx_IRQHandler(). 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Configuration of ADC, group regular, channels parameters *** 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ================================================================ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...) 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...) 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Init(). 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number, 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** channel rank into sequencer, ..., into regular group) 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_ConfigChannel(). 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** monitored, thresholds, ...) 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_AnalogWDGConfig(). 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Execution of ADC conversions *** 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ==================================== 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 4 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, perform an automatic ADC calibration to improve the 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** conversion accuracy 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADCEx_Calibration_Start(). 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption, 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** transfer by DMA. 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion by polling: 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start() 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_PollForConversion() 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Retrieve conversion results 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_GetValue() 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop() 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion by interruption: 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start_IT() 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback() 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (this function must be implemented in user program) 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Retrieve conversion results 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_GetValue() 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop_IT() 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion with transfer by DMA: 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start_DMA() 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback() or HAL_ADC_ConvHalfCpltCallback() 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (these functions must be implemented in user program) 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Conversion results are automatically transferred by DMA into 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** destination variable address. 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop_DMA() 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (@) Callback functions must be implemented in user program: 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ErrorCallback() 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_LevelOutOfWindowCallback() (callback of analog watchdog) 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ConvCpltCallback() 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ConvHalfCpltCallback 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Deinitialization of ADC *** 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Disable the ADC interface 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level. 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Hard reset of ADC peripherals 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __ADCx_FORCE_RESET(), __ADCx_RELEASE_RESET(). 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock disable 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using the equivalent macro/functions as configuration step. ARM GAS /tmp/cc2rPMmj.s page 5 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Example: 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** other device clock parameters configuration: 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI14; 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14State = RCC_HSI14_OFF; (if not used for system clock 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure); 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC pins configuration 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_DISABLE() 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions: 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the NVIC for ADC 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(ADCx_IRQn) 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of DMA: 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Deinitialize the DMA 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_DMA_DeInit(). 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the NVIC for DMA 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn) 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Callback registration *** 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================= 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1, 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks. 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Use Functions HAL_ADC_RegisterCallback() 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** to register an interrupt callback. 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Function HAL_ADC_RegisterCallback() allows to register following callbacks: 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and a pointer to the user callback function. 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Use function HAL_ADC_UnRegisterCallback to reset a callback to the default 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** weak function. 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle, 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and the Callback ID. 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This function allows to reset following callbacks: 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback ARM GAS /tmp/cc2rPMmj.s page 6 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** By default, after the HAL_ADC_Init() and when the state is HAL_ADC_STATE_RESET 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** all callbacks are set to the corresponding weak functions: 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** examples HAL_ADC_ConvCpltCallback(), HAL_ADC_ErrorCallback(). 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** reset to the legacy weak functions in the HAL_ADC_Init()/ HAL_ADC_DeInit() only when 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** these callbacks are null (not registered beforehand). 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** If MspInit or MspDeInit are not null, the HAL_ADC_Init()/ HAL_ADC_DeInit() 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Callbacks can be registered/unregistered in HAL_ADC_STATE_READY state only. 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** in HAL_ADC_STATE_READY or HAL_ADC_STATE_RESET state, 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using HAL_ADC_RegisterCallback() before calling HAL_ADC_DeInit() 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** or HAL_ADC_Init() function. 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** are set to the corresponding weak functions. 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Includes ------------------------------------------------------------------*/ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #include "stm32f0xx_hal.h" 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @addtogroup STM32F0xx_HAL_Driver 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC ADC 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief ADC HAL module driver 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #ifdef HAL_ADC_MODULE_ENABLED 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private typedef -----------------------------------------------------------*/ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private define ------------------------------------------------------------*/ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Constants ADC Private Constants 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Fixed timeout values for ADC calibration, enable settling time, disable */ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* settling time. */ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Values defined to be higher than worst cases: low clock frequency, */ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* maximum prescaler. */ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Ex of profile low frequency : Clock source at 0.1 MHz, ADC clock */ ARM GAS /tmp/cc2rPMmj.s page 7 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* prescaler 4, sampling time 7.5 ADC clock cycles, resolution 12 bits. */ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: ms */ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_ENABLE_TIMEOUT ( 2U) 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_DISABLE_TIMEOUT ( 2U) 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_STOP_CONVERSION_TIMEOUT ( 2U) 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for ADC stabilization time. */ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Maximum delay is 1us (refer to device datasheet, parameter tSTAB). */ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: us */ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_STAB_DELAY_US ( 1U) 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for temperature sensor stabilization time. */ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Maximum delay is 10us (refer to device datasheet, parameter tSTART). */ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: us */ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_TEMPSENSOR_DELAY_US ( 10U) 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @} 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private macro -------------------------------------------------------------*/ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private variables ---------------------------------------------------------*/ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private function prototypes -----------------------------------------------*/ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Functions ADC Private Functions 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc); 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc); 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc); 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma); 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma); 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma); 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @} 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Exported functions ---------------------------------------------------------*/ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions ADC Exported Functions 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group1 Initialization/de-initialization functions 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initialization and Configuration functions 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Initialization and de-initialization functions ##### 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to: 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Initialize and configure the ADC. 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) De-initialize the ADC 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** ARM GAS /tmp/cc2rPMmj.s page 8 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initializes the ADC peripheral and regular group according to 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameters specified in structure "ADC_InitTypeDef". 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note As prerequisite, ADC clock must be configured at RCC top level 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * depending on both possible clock sources: APB clock of HSI clock. 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * See commented example code below that can be copied and uncommented 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * into HAL_ADC_MspInit(). 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly: 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes the ADC MSP (HAL_ADC_MspInit()) only when 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * coming from ADC state reset. Following calls to this function can 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * be used to reconfigure some parameters of ADC_InitTypeDef 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * structure on the fly, without modifying MSP configuration. If ADC 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * MSP has to be modified again, HAL_ADC_DeInit() must be called 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * before HAL_ADC_Init(). 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state. 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_InitTypeDef". 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function configures the ADC within 2 scopes: scope of entire 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC and scope of regular group. For parameters details, see comments 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_InitTypeDef". 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpCFGR1 = 0U; 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check ADC handle */ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(hadc == NULL) 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv)); 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoPowerOff)); 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* As prerequisite, into HAL_ADC_MspInit(), ADC clock must be configured */ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* at RCC top level depending on both possible clock sources: */ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* APB clock or HSI clock. */ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Refer to header of this file for more details on clock enabling procedure*/ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Actions performed only if ADC is coming from state reset: */ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Initialization of ADC MSP */ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC voltage regulator enable */ ARM GAS /tmp/cc2rPMmj.s page 9 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->State == HAL_ADC_STATE_RESET) 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Initialize ADC error code */ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allocate lock resource and initialize it */ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Lock = HAL_UNLOCKED; 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the ADC Callback settings */ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->MspInitCallback == NULL) 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the low level hardware */ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback(hadc); 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the low level hardware */ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_MspInit(hadc); 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* correctly completed. */ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* and if there is no conversion on going on regular group (ADC can be */ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enabled anyway, in case of call of this function to update a parameter */ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* on the fly). */ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL) && 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) && 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) ) 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL); 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated only when ADC is disabled: */ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC clock mode */ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC clock prescaler */ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC resolution */ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) == RESET) 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Some parameters of this register are not reset, since they are set */ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by other functions and must be kept in case of usage of this */ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* function on the fly (update of a parameter of ADC_InitTypeDef */ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* without needing to reconfigure all other ADC groups/channels */ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameters): */ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - internal measurement paths: Vbat, temperature sensor, Vref */ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (set into HAL_ADC_ConfigChannel() ) */ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 10 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC resolution */ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** MODIFY_REG(hadc->Instance->CFGR1, 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_RES , 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.Resolution ); 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC clock mode: clock source AHB or HSI with */ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* selectable prescaler */ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** MODIFY_REG(hadc->Instance->CFGR2 , 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR2_CKMODE , 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ClockPrescaler ); 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC: */ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - discontinuous mode */ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - LowPowerAutoWait mode */ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - LowPowerAutoPowerOff mode */ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - continuous conversion mode */ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - overrun */ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - external trigger to start conversion */ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - external trigger polarity */ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - data alignment */ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - resolution */ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - scan direction */ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - DMA continuous request */ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~( ADC_CFGR1_DISCEN | 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTDLY | 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONT | 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVRMOD | 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTSEL | 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTEN | 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_ALIGN | 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_SCANDIR | 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACFG ); 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= (ADC_CFGR1_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) | 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) | 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign | 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_SCANDIR(hadc->Init.ScanConvMode) | 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) ); 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable discontinuous mode only if continuous mode is disabled */ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.DiscontinuousConvMode == ENABLE) 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.ContinuousConvMode == DISABLE) 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the selected ADC group regular discontinuous mode */ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= ADC_CFGR1_DISCEN; 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC regular group discontinuous was intended to be enabled, */ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* but ADC regular group modes continuous and sequencer discontinuous */ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* cannot be enabled simultaneously. */ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 11 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable external trigger if trigger selection is different of software */ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* start. */ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: This configuration keeps the hardware feature of parameter */ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ExternalTrigConvEdge "trigger edge none" equivalent to */ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* software start. */ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= ( hadc->Init.ExternalTrigConv | 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge ); 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC configuration register with previous settings */ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= tmpCFGR1; 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of parameters "SamplingTimeCommon" and "SamplingTime" */ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (obsolete): sampling time set in this function if parameter */ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "SamplingTimeCommon" has been set to a valid sampling time. */ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Otherwise, sampling time is set into ADC channel initialization */ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* structure with parameter "SamplingTime" (obsolete). */ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon)) 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the old sample time */ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~(ADC_SMPR_SMP); 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the new sample time */ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR |= ADC_SMPR_SET(hadc->Init.SamplingTimeCommon); 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check back that ADC registers have effectively been configured to */ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ensure of no potential problem of ADC core IP clocking. */ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check through register CFGR1 (excluding analog watchdog configuration: */ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* set into separate dedicated function, and bits of ADC resolution set */ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* out of temporary variable 'tmpCFGR1'). */ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->Instance->CFGR1 & ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1) 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to none */ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the ADC state */ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY); 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ ARM GAS /tmp/cc2rPMmj.s page 12 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_ERROR_INTERNAL); 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR; 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR; 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Deinitialize the ADC peripheral registers to their default reset 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * values, with deinitialization of the ADC MSP. 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note For devices with several ADCs: reset of ADC common registers is done 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * only if all ADCs sharing the same common group are disabled. 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * If this is not the case, reset of these common parameters reset is 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * bypassed without error reporting: it can be the intended behaviour in 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * case of reset of a single ADC while the other ADCs sharing the same 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * common group is still running. 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc) 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check ADC handle */ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(hadc == NULL) 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop potential conversion on going, on regular group */ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc); 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) ARM GAS /tmp/cc2rPMmj.s page 13 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC peripheral */ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc); 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_ERROR) 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state */ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_READY; 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* correctly completed. */ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_ERROR) 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Reset ADC registers ========== */ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register IER */ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD | ADC_IT_OVR | 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOS | ADC_IT_EOC | 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOSMP | ADC_IT_RDY ) ); 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register ISR */ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD | ADC_FLAG_OVR | 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOS | ADC_FLAG_EOC | 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOSMP | ADC_FLAG_RDY ) ); 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CR */ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Bits ADC_CR_ADCAL, ADC_CR_ADSTP, ADC_CR_ADSTART are in access mode */ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "read-set": no direct reset applicable. */ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CFGR1 */ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1_ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTEN | ADC_CFGR1_EXTSEL | ADC_CFGR1_ALIGN | ADC_CFGR1_ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_SCANDIR | ADC_CFGR1_DMACFG | ADC_CFGR1_DMAEN 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CFGR2 */ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Update of ADC clock mode is conditioned to ADC state disabled: */ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* already done above. */ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR2 &= ~ADC_CFGR2_CKMODE; 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register SMPR */ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~ADC_SMPR_SMP; 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register TR1 */ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT); 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CHSELR */ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR &= ~(ADC_CHSELR_CHSEL18 | ADC_CHSELR_CHSEL17 | ADC_CHSELR_CHSEL16 | 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL11 | ADC_CHSELR_CHSEL10 | ADC_CHSELR_CHSEL9 | ADC_ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL7 | ADC_CHSELR_CHSEL6 | ADC_CHSELR_CHSEL5 | ADC_ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL3 | ADC_CHSELR_CHSEL2 | ADC_CHSELR_CHSEL1 | ADC_ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 14 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register DR */ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* bits in access mode read only, no direct reset applicable*/ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CCR */ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR &= ~(ADC_CCR_ALL); 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Hard reset ADC peripheral ========== */ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Performs a global reset of the entire ADC peripheral: ADC state is */ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* forced to a similar state after device power-on. */ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If needed, copy-paste and uncomment the following reset code into */ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* function "void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)": */ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* */ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* __HAL_RCC_ADC1_FORCE_RESET() */ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* __HAL_RCC_ADC1_RELEASE_RESET() */ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->MspDeInitCallback == NULL) 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* DeInit the low level hardware */ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback(hadc); 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* DeInit the low level hardware */ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_MspDeInit(hadc); 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to none */ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_RESET; 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initializes the ADC MSP. 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc); 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_MspInit must be implemented in the user file. 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 15 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DeInitializes the ADC MSP. 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc); 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_MspDeInit must be implemented in the user file. 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Register a User ADC Callback 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * To be used instead of the weak predefined callback 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the configuration information for the specified ADC. 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param CallbackID ID of the callback to be registered 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values: 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param pCallback pointer to the Callback function 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (pCallback == NULL) 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0) 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID) 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = pCallback; 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : ARM GAS /tmp/cc2rPMmj.s page 16 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = pCallback; 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = pCallback; 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = pCallback; 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default : 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR; 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID) 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default : 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR; 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR; 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 17 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return status; 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Unregister a ADC Callback 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC callback is redirected to the weak predefined callback 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the configuration information for the specified ADC. 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param CallbackID ID of the callback to be unregistered 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values: 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0) 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID) 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default : 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */ 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; ARM GAS /tmp/cc2rPMmj.s page 18 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */ 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR; 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID) 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default : 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */ 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */ 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR; 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */ 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */ 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR; 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return status; 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @} 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group2 IO operation functions 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief IO operation functions 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### IO operation functions ##### 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to: 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group. 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group. 1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Poll for conversion complete on regular group. 1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Poll for conversion event. ARM GAS /tmp/cc2rPMmj.s page 19 1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Get result of regular channel conversion. 1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group and enable interruptions. 1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group and disable interruptions. 1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Handle ADC interrupt request 1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group and enable DMA transfer. 1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group and disable ADC DMA transfer. 1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim 1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group. 1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function: None. 1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) 1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */ 1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */ 1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */ 1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */ 1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE) 1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc); 1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */ 1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A 1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */ 1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */ ARM GAS /tmp/cc2rPMmj.s page 20 1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */ 1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); 1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */ 1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */ 1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */ 1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */ 1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART; 1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY; 1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable ADC peripheral. 1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status. 1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) 1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */ 1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc); 1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */ 1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */ 1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc); 1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY); 1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ ARM GAS /tmp/cc2rPMmj.s page 21 1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Wait for regular group conversion to be completed. 1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note ADC conversion flags EOS (end of sequence) and EOC (end of 1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * conversion) are cleared by this function, with an exception: 1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * if low power feature "LowPowerAutoWait" is enabled, flags are 1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * not cleared to not interfere with this feature until data register 1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * is read using function HAL_ADC_GetValue(). 1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function cannot be used in a particular setup: ADC configured 1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * in DMA mode and polling for end of each conversion (ADC init 1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SINGLE_CONV). 1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * In this case, DMA resets the flag EOC and polling cannot be 1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * performed on each conversion. Nevertheless, polling can still 1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * be performed on the complete sequence (ADC init 1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SEQ_CONV). 1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) 1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart; 1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_Flag_EOC; 1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If end of conversion selected to end of sequence */ 1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) 1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_Flag_EOC = ADC_FLAG_EOS; 1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If end of conversion selected to end of each conversion */ 1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else /* ADC_EOC_SINGLE_CONV */ 1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification that ADC configuration is compliant with polling for */ 1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* each conversion: */ 1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Particular case is ADC configured in DMA mode and ADC sequencer with */ 1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* several ranks and polling for end of each conversion. */ 1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* For code simplicity sake, this particular case is generalized to */ 1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC configured in DMA mode and and polling for end of each conversion. */ 1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN)) 1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_Flag_EOC = (ADC_FLAG_EOC | ADC_FLAG_EOS); 1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 22 1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */ 1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick(); 1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait until End of Conversion flag is raised */ 1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_EOC)) 1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */ 1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY) 1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout)) 1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_EOC)) 1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to timeout */ 1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_TIMEOUT; 1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine */ 1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */ 1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) ) 1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */ 1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */ 1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */ 1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */ 1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */ 1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); 1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY); 1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */ ARM GAS /tmp/cc2rPMmj.s page 23 1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear end of conversion flag of regular group if low power feature */ 1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "LowPowerAutoWait " is disabled, to not interfere with this feature */ 1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* until data register is read using function HAL_ADC_GetValue(). */ 1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoWait == DISABLE) 1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag */ 1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); 1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */ 1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK; 1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Poll for conversion event. 1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param EventType the ADC event type. 1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values: 1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg ADC_AWD_EVENT: ADC Analog watchdog event 1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg ADC_OVR_EVENT: ADC Overrun event 1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeou 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart=0; 1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType)); 1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */ 1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick(); 1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check selected event flag */ 1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET) 1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */ 1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY) 1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout)) 1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET) 1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to timeout */ 1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ ARM GAS /tmp/cc2rPMmj.s page 24 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_TIMEOUT; 1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch(EventType) 1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Analog watchdog (level out of window) event */ 1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case ADC_AWD_EVENT: 1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); 1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC analog watchdog flag */ 1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); 1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Overrun event */ 1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default: /* Case ADC_OVR_EVENT */ 1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If overrun is set to overwrite previous data, overrun event is not */ 1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* considered as an error. */ 1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (cf ref manual "Managing conversions without using the DMA and without */ 1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun ") */ 1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) 1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); 1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to overrun */ 1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); 1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC Overrun flag */ 1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */ 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK; 1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group with interruption. 1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function: 1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - EOC (end of conversion of regular group) or EOS (end of 1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * sequence of regular group) depending on ADC initialization 1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection" 1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - overrun (if available) 1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function. 1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) 1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; ARM GAS /tmp/cc2rPMmj.s page 25 1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */ 1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */ 1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */ 1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */ 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE) 1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc); 1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */ 1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A 1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */ 1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */ 1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */ 1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); 1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC end of conversion interrupt */ 1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC overrun interrupt */ 1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch(hadc->Init.EOCSelection) 1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case ADC_EOC_SEQ_CONV: 1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); 1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOS | ADC_IT_OVR)); 1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* case ADC_EOC_SINGLE_CONV */ 1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default: 1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); 1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */ 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */ ARM GAS /tmp/cc2rPMmj.s page 26 1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */ 1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */ 1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART; 1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY; 1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable interruption of 1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * end-of-conversion, disable ADC peripheral. 1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status. 1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc) 1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */ 1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc); 1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */ 1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of conversion interrupt for regular group */ 1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC overrun interrupt */ 1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); 1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */ 1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc); 1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY); 1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 27 1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group and transfers result 1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * through DMA. 1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function: 1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - DMA transfer complete 1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - DMA half transfer 1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - overrun 1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function. 1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param pData The destination Buffer address. 1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Length The length of data to be transferred from ADC peripheral to memory. 1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) 1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */ 1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */ 1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */ 1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */ 1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE) 1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc); 1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */ 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A 1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */ 1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA transfer complete callback */ ARM GAS /tmp/cc2rPMmj.s page 28 1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; 1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA half transfer complete callback */ 1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; 1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA error callback */ 1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; 1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */ 1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* start (in case of SW start): */ 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */ 1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */ 1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); 1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC overrun interrupt */ 1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC DMA mode */ 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= ADC_CFGR1_DMAEN; 1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start the DMA channel */ 1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length); 1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */ 1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */ 1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */ 1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */ 1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART; 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY; 1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable ADC DMA transfer, disable 1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC peripheral. 1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function. 1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status. 1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc) 1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ ARM GAS /tmp/cc2rPMmj.s page 29 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */ 1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc); 1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */ 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC DMA (ADC DMA configuration ADC_CFGR_DMACFG is kept) */ 1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~ADC_CFGR1_DMAEN; 1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the DMA channel (in case of DMA in circular mode or stop while */ 1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* while DMA transfer is on going) */ 1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) 1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if DMA channel effectively disabled */ 1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_OK) 1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC overrun interrupt */ 1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */ 1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update "tmp_hal_status" only if DMA channel disabling passed, to keep */ 1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* in memory a potential failing status. */ 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc); 1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_Disable(hadc); 1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK) 1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY); 1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 30 1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Get ADC regular group conversion result. 1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Reading register DR automatically clears ADC flag EOC 1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC group regular end of unitary conversion). 1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function does not clear ADC flag EOS 1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC group regular end of sequence conversion). 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Occurrence of flag EOS rising: 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - If sequencer is composed of 1 rank, flag EOS is equivalent 1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * to flag EOC. 1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - If sequencer is composed of several ranks, during the scan 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * sequence flag EOC only is raised, at the end of the scan sequence 1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * both flags EOC and EOS are raised. 1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * To clear this flag, either use function: 1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * in programming model IT: @ref HAL_ADC_IRQHandler(), in programming 1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * model polling: @ref HAL_ADC_PollForConversion() 1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * or @ref __HAL_ADC_CLEAR_FLAG(&hadc, ADC_FLAG_EOS). 1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval ADC group regular conversion data 1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc) 1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: EOC flag is not cleared here by software because automatically */ 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* cleared by hardware when reading register DR. */ 1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC converted value */ 1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->Instance->DR; 1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Handles ADC interrupt request. 1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc) 1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_isr = hadc->Instance->ISR; 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_ier = hadc->Instance->IER; 1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); 1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check End of Conversion flag for regular group ========== */ 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( (((tmp_isr & ADC_FLAG_EOC) == ADC_FLAG_EOC) && ((tmp_ier & ADC_IT_EOC) == ADC_IT_EOC)) || 1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)) ) 1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 31 1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */ 1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) 1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */ 1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */ 1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */ 1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */ 1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */ 1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); 1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY); 1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */ 1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: into callback, to determine if conversion has been triggered */ 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* from EOC or EOS, possibility to use: */ 1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* " if( __HAL_ADC_GET_FLAG(&hadc, ADC_FLAG_EOS)) " */ 1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback(hadc); 1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc); 1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag */ 1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: in case of overrun set to ADC_OVR_DATA_PRESERVED, end of */ 1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion flags clear induces the release of the preserved data.*/ 1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Therefore, if the preserved data value is needed, it must be */ 1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* read preliminarily into HAL_ADC_ConvCpltCallback(). */ 1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS) ); 1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check Analog watchdog flags ========== */ 1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(((tmp_isr & ADC_FLAG_AWD) == ADC_FLAG_AWD) && ((tmp_ier & ADC_IT_AWD) == ADC_IT_AWD)) 1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ ARM GAS /tmp/cc2rPMmj.s page 32 1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); 1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback(hadc); 1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_LevelOutOfWindowCallback(hadc); 1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC Analog watchdog flag */ 1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); 1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check Overrun flag ========== */ 1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(((tmp_isr & ADC_FLAG_OVR) == ADC_FLAG_OVR) && ((tmp_ier & ADC_IT_OVR) == ADC_IT_OVR)) 1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If overrun is set to overwrite previous data (default setting), */ 1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun event is not considered as an error. */ 1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (cf ref manual "Managing conversions without using the DMA and without */ 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun ") */ 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Exception for usage with DMA overrun event always considered as an */ 1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* error. */ 1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) || 1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) ) 1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to overrun */ 1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); 1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC overrun flag */ 1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback(hadc); 1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the Overrun flag */ 1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Conversion complete callback in non blocking mode 1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) 1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc); 1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, ARM GAS /tmp/cc2rPMmj.s page 33 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ConvCpltCallback must be implemented in the user file. 1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Conversion DMA half-transfer callback in non blocking mode 1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) 1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc); 1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ConvHalfCpltCallback must be implemented in the user file. 1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Analog watchdog callback in non blocking mode. 1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc) 1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc); 1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_LevelOoutOfWindowCallback must be implemented in the user file. 1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief ADC error callback in non blocking mode 1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC conversion with interruption or transfer by DMA) 1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) 1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc); 1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed, 1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ErrorCallback must be implemented in the user file. 1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @} 1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions 1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Peripheral Control functions ARM GAS /tmp/cc2rPMmj.s page 34 1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim 1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Peripheral Control functions ##### 1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to: 1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Configure channels on regular group 1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Configure the analog watchdog 1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim 1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Configures the the selected channel to be linked to the regular 1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * group. 1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note In case of usage of internal measurement channels: 1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * VrefInt/Vbat/TempSensor. 1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Sampling time constraints must be respected (sampling time can be 1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * adjusted in function of ADC clock frequency and sampling time 1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * setting). 1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Refer to device datasheet for timings values, parameters TS_vrefint, 1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * TS_vbat, TS_temp (values rough order: 5us to 17us). 1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * These internal paths can be be disabled using function 1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * HAL_ADC_DeInit(). 1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly: 1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes channel into regular group, following 1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters 1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_ChannelConfTypeDef" on the fly, without resetting 1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the ADC. 1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state. 1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure 1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_ChannelConfTypeDef". 1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param sConfig Structure of ADC channel for regular group. 1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig) 1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(sConfig->Channel)); 1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANK(sConfig->Rank)); 1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon)) 1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime)); 1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */ 1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated when ADC is disabled or enabled without */ ARM GAS /tmp/cc2rPMmj.s page 35 1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion on going on regular group: */ 1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Channel number */ 1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Channel sampling time */ 1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Management of internal measurement channels: VrefInt/TempSensor/Vbat */ 1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configure channel: depending on rank setting, add it or remove it from */ 1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC conversion sequencer. */ 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->Rank != ADC_RANK_NONE) 1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Regular sequence configuration */ 1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the channel selection register from the selected channel */ 1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR |= ADC_CHSELR_CHANNEL(sConfig->Channel); 1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */ 1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of parameters "SamplingTimeCommon" and "SamplingTime" */ 1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (obsolete): sampling time set in this function with */ 1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameter "SamplingTime" (obsolete) only if not already set into */ 1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC initialization structure with parameter "SamplingTimeCommon". */ 1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon)) 1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Modify sampling time if needed (not needed in case of recurrence */ 1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* for several channels programmed consecutively into the sequencer) */ 1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->SamplingTime != ADC_GET_SAMPLINGTIME(hadc)) 1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */ 1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the old sample time */ 1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~(ADC_SMPR_SMP); 1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the new sample time */ 1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR |= ADC_SMPR_SET(sConfig->SamplingTime); 1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of internal measurement channels: VrefInt/TempSensor/Vbat */ 1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* internal measurement paths enable: If internal channel selected, */ 1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enable dedicated internal buffers and path. */ 1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: these internal measurement paths can be disabled using */ 1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_ADC_DeInit() or removing the channel from sequencer with */ 1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channel configuration parameter "Rank". */ 1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_CHANNEL_INTERNAL(sConfig->Channel)) 1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_16 is selected, enable Temp. sensor measurement path. */ 1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_17 is selected, enable VREFINT measurement path. */ 1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_18 is selected, enable VBAT measurement path. */ 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR |= ADC_CHANNEL_INTERNAL_PATH(sConfig->Channel); 1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Temp. sensor is selected, wait for stabilization delay */ 1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for temperature sensor stabilization time */ 1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000U)); 1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index--; 1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 36 1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Regular sequence configuration */ 1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset the channel selection register from the selected channel */ 1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR &= ~ADC_CHSELR_CHANNEL(sConfig->Channel); 1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of internal measurement channels: VrefInt/TempSensor/Vbat */ 1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* internal measurement paths disable: If internal channel selected, */ 1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* disable dedicated internal buffers and path. */ 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_CHANNEL_INTERNAL(sConfig->Channel)) 1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_16 is selected, disable Temp. sensor measurement path. */ 1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_17 is selected, disable VREFINT measurement path. */ 1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_18 is selected, disable VBAT measurement path. */ 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR &= ~ADC_CHANNEL_INTERNAL_PATH(sConfig->Channel); 1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If a conversion is on going on regular group, no update on regular */ 1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channel could be done on neither of the channel configuration structure */ 1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameters. */ 1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR; 2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Configures the analog watchdog. 2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly: 2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes the selected analog watchdog, following 2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters 2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_AnalogWDGConfTypeDef" on the fly, without resetting 2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the ADC. 2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state. 2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure 2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_AnalogWDGConfTypeDef". 2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param AnalogWDGConfig Structure of ADC analog watchdog configuration 2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status 2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* Analog ARM GAS /tmp/cc2rPMmj.s page 37 2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpAWDHighThresholdShifted; 2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpAWDLowThresholdShifted; 2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ANALOG_WATCHDOG_MODE(AnalogWDGConfig->WatchdogMode)); 2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode)); 2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verify if threshold is within the selected ADC resolution */ 2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold)); 2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold)); 2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(AnalogWDGConfig->WatchdogMode == ADC_ANALOGWATCHDOG_SINGLE_REG) 2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel)); 2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */ 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc); 2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */ 2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated when ADC is disabled or enabled without */ 2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion on going on regular group: */ 2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Analog watchdog channels */ 2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Analog watchdog thresholds */ 2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of analog watchdog: */ 2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set the analog watchdog enable mode: one or overall group of */ 2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channels. */ 2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set the Analog watchdog channel (is not used if watchdog */ 2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* mode "all channels": ADC_CFGR_AWD1SGL=0). */ 2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~( ADC_CFGR1_AWDSGL | 2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN | 2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDCH ); 2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= ( AnalogWDGConfig->WatchdogMode | 2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) ); 2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Shift the offset in function of the selected ADC resolution: Thresholds*/ 2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* have to be left-aligned on bit 11, the LSB (right bits) are set to 0 */ 2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDHighThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThre 2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres 2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the high and low thresholds */ 2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT); 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) | 2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted ); 2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the ADC Analog watchdog flag (in case of left enabled by */ 2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* previous ADC operations) to be ready to use for HAL_ADC_IRQHandler() */ 2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* or HAL_ADC_PollForEvent(). */ 2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_IT_AWD); 2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 38 2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configure ADC Analog watchdog interrupt */ 2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(AnalogWDGConfig->ITMode == ENABLE) 2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC Analog watchdog interrupt */ 2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD); 2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC Analog watchdog interrupt */ 2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD); 2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If a conversion is on going on regular group, no update could be done */ 2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* on neither of the AWD configuration structure parameters. */ 2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR; 2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */ 2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc); 2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */ 2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status; 2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @} 2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group4 Peripheral State functions 2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Peripheral State functions 2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * 2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim 2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Peripheral State and Errors functions ##### 2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================================================== 2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] 2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This subsection provides functions to get in run-time the status of the 2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** peripheral. 2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Check the ADC state 2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Check the ADC error code 2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim 2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Return the ADC state 2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note ADC state machine is managed by bitfields, ADC status must be ARM GAS /tmp/cc2rPMmj.s page 39 2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * compared with states bits. 2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For example: 2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_REG_BUSY)) " 2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_AWD1) ) " 2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL state 2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc) 2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */ 2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->State; 2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Return the ADC error code 2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval ADC Error Code 2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc) 2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->ErrorCode; 2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @} 2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @} 2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Functions ADC Private Functions 2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{ 2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enable the selected ADC. 2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC must be disabled 2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * and voltage regulator must be enabled (done into HAL_ADC_Init()). 2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note If low power mode AutoPowerOff is enabled, power-on/off phases are 2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * performed automatically by hardware. 2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * In this mode, this function is useless and must not be called because 2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * flag ADC_FLAG_RDY is not usable. 2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Therefore, this function must be called under condition of 2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "if (hadc->Init.LowPowerAutoPowerOff != ENABLE)". 2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status. 2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc) 2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U; 2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC enable and wait for ADC ready (in case of ADC is disabled or */ ARM GAS /tmp/cc2rPMmj.s page 40 2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enabling phase not yet completed: flag ADC ready not yet set). */ 2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Timeout implemented to not be stuck if ADC cannot be enabled (possible */ 2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* causes: ADC clock not running, ...). */ 2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) == RESET) 2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if conditions to enable the ADC are fulfilled */ 2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_ENABLING_CONDITIONS(hadc) == RESET) 2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */ 2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc); 2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for ADC stabilization time */ 2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index--; 2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */ 2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick(); 2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for ADC effectively enabled */ 2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET) 2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_ENABLE_TIMEOUT) 2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET) 2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */ 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK; 2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Disable the selected ADC. ARM GAS /tmp/cc2rPMmj.s page 41 2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC conversions must be 2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * stopped. 2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status. 2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc) 2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U; 2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification if ADC is not already disabled: */ 2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: forbidden to disable ADC (set bit ADC_CR_ADDIS) if ADC is already */ 2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* disabled. */ 2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) != RESET) 2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if conditions to disable the ADC are fulfilled */ 2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_DISABLING_CONDITIONS(hadc) != RESET) 2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC peripheral */ 2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for ADC effectively disabled */ 2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */ 2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick(); 2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADEN)) 2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_DISABLE_TIMEOUT) 2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADEN)) 2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */ 2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK; 2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 42 2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion. 2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC conversions must be 2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * stopped to disable the ADC. 2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle 2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status. 2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc) 2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 27 .loc 1 2323 1 view -0 28 .cfi_startproc 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 .loc 1 2323 1 is_stmt 0 view .LVU1 32 0000 70B5 push {r4, r5, r6, lr} 33 .cfi_def_cfa_offset 16 34 .cfi_offset 4, -16 35 .cfi_offset 5, -12 36 .cfi_offset 6, -8 37 .cfi_offset 14, -4 38 0002 0400 movs r4, r0 2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U; 39 .loc 1 2324 3 is_stmt 1 view .LVU2 40 .LVL1: 2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 41 .loc 1 2327 3 view .LVU3 2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification if ADC is not already stopped on regular group to bypass */ 2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* this function if not needed. */ 2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc)) 42 .loc 1 2331 3 view .LVU4 43 .loc 1 2331 7 is_stmt 0 view .LVU5 44 0004 0268 ldr r2, [r0] 45 0006 9368 ldr r3, [r2, #8] 46 .loc 1 2331 6 view .LVU6 47 0008 5B07 lsls r3, r3, #29 48 000a 25D5 bpl .L6 2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop potential conversion on going on regular group */ 2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Software is allowed to set ADSTP only when ADSTART=1 and ADDIS=0 */ 2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADSTART) && 49 .loc 1 2336 5 is_stmt 1 view .LVU7 50 .loc 1 2336 9 is_stmt 0 view .LVU8 51 000c 9368 ldr r3, [r2, #8] 52 .loc 1 2336 8 view .LVU9 53 000e 5B07 lsls r3, r3, #29 54 0010 06D5 bpl .L3 2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) ) 55 .loc 1 2337 9 view .LVU10 56 0012 9368 ldr r3, [r2, #8] 2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) ) 57 .loc 1 2336 60 discriminator 1 view .LVU11 ARM GAS /tmp/cc2rPMmj.s page 43 58 0014 9B07 lsls r3, r3, #30 59 0016 03D4 bmi .L3 2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop conversions on regular group */ 2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTP; 60 .loc 1 2340 7 is_stmt 1 view .LVU12 61 .loc 1 2340 21 is_stmt 0 view .LVU13 62 0018 9368 ldr r3, [r2, #8] 63 .loc 1 2340 26 view .LVU14 64 001a 1021 movs r1, #16 65 001c 0B43 orrs r3, r1 66 001e 9360 str r3, [r2, #8] 67 .L3: 2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for conversion effectively stopped */ 2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */ 2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick(); 68 .loc 1 2345 5 is_stmt 1 view .LVU15 69 .loc 1 2345 17 is_stmt 0 view .LVU16 70 0020 FFF7FEFF bl HAL_GetTick 71 .LVL2: 72 .loc 1 2345 17 view .LVU17 73 0024 0500 movs r5, r0 74 .LVL3: 2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while((hadc->Instance->CR & ADC_CR_ADSTART) != RESET) 75 .loc 1 2347 5 is_stmt 1 view .LVU18 76 .L4: 77 .loc 1 2347 49 view .LVU19 78 .loc 1 2347 16 is_stmt 0 view .LVU20 79 0026 2368 ldr r3, [r4] 80 .loc 1 2347 26 view .LVU21 81 0028 9B68 ldr r3, [r3, #8] 82 .loc 1 2347 49 view .LVU22 83 002a 5B07 lsls r3, r3, #29 84 002c 12D5 bpl .L10 2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_STOP_CONVERSION_TIMEOUT) 85 .loc 1 2349 7 is_stmt 1 view .LVU23 86 .loc 1 2349 11 is_stmt 0 view .LVU24 87 002e FFF7FEFF bl HAL_GetTick 88 .LVL4: 89 .loc 1 2349 25 discriminator 1 view .LVU25 90 0032 401B subs r0, r0, r5 91 .loc 1 2349 9 discriminator 1 view .LVU26 92 0034 0228 cmp r0, #2 93 0036 F6D9 bls .L4 2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((hadc->Instance->CR & ADC_CR_ADSTART) != RESET) 94 .loc 1 2352 9 is_stmt 1 view .LVU27 95 .loc 1 2352 17 is_stmt 0 view .LVU28 96 0038 2368 ldr r3, [r4] 97 .loc 1 2352 27 view .LVU29 98 003a 9B68 ldr r3, [r3, #8] 99 .loc 1 2352 11 view .LVU30 ARM GAS /tmp/cc2rPMmj.s page 44 100 003c 5B07 lsls r3, r3, #29 101 003e F2D5 bpl .L4 2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */ 2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 102 .loc 1 2355 11 is_stmt 1 view .LVU31 103 0040 A36B ldr r3, [r4, #56] 104 0042 1022 movs r2, #16 105 0044 1343 orrs r3, r2 106 0046 A363 str r3, [r4, #56] 2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 107 .loc 1 2358 11 view .LVU32 108 0048 E36B ldr r3, [r4, #60] 109 004a 0F3A subs r2, r2, #15 110 004c 1343 orrs r3, r2 111 004e E363 str r3, [r4, #60] 2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR; 112 .loc 1 2360 11 view .LVU33 113 .loc 1 2360 18 is_stmt 0 view .LVU34 114 0050 0120 movs r0, #1 115 0052 02E0 b .L2 116 .L10: 2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */ 2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK; 117 .loc 1 2367 10 view .LVU35 118 0054 0020 movs r0, #0 119 0056 00E0 b .L2 120 .LVL5: 121 .L6: 122 .loc 1 2367 10 view .LVU36 123 0058 0020 movs r0, #0 124 .LVL6: 125 .L2: 2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 126 .loc 1 2368 1 view .LVU37 127 @ sp needed 128 .LVL7: 129 .loc 1 2368 1 view .LVU38 130 005a 70BD pop {r4, r5, r6, pc} 131 .cfi_endproc 132 .LFE64: 134 .section .text.ADC_Disable,"ax",%progbits 135 .align 1 136 .syntax unified 137 .code 16 138 .thumb_func 140 ADC_Disable: 141 .LVL8: 142 .LFB63: ARM GAS /tmp/cc2rPMmj.s page 45 2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U; 143 .loc 1 2262 1 is_stmt 1 view -0 144 .cfi_startproc 145 @ args = 0, pretend = 0, frame = 0 146 @ frame_needed = 0, uses_anonymous_args = 0 2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U; 147 .loc 1 2262 1 is_stmt 0 view .LVU40 148 0000 70B5 push {r4, r5, r6, lr} 149 .cfi_def_cfa_offset 16 150 .cfi_offset 4, -16 151 .cfi_offset 5, -12 152 .cfi_offset 6, -8 153 .cfi_offset 14, -4 154 0002 0400 movs r4, r0 2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 155 .loc 1 2263 3 is_stmt 1 view .LVU41 156 .LVL9: 2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 157 .loc 1 2268 3 view .LVU42 2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 158 .loc 1 2268 7 is_stmt 0 view .LVU43 159 0004 0268 ldr r2, [r0] 160 0006 9168 ldr r1, [r2, #8] 161 0008 0323 movs r3, #3 162 000a 0B40 ands r3, r1 163 000c 012B cmp r3, #1 164 000e 01D0 beq .L21 2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 165 .loc 1 2311 10 view .LVU44 166 0010 0020 movs r0, #0 167 .LVL10: 168 .L12: 2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 169 .loc 1 2312 1 view .LVU45 170 @ sp needed 171 .LVL11: 2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 172 .loc 1 2312 1 view .LVU46 173 0012 70BD pop {r4, r5, r6, pc} 174 .LVL12: 175 .L21: 2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 176 .loc 1 2268 7 discriminator 1 view .LVU47 177 0014 1368 ldr r3, [r2] 178 0016 DB07 lsls r3, r3, #31 179 0018 02D4 bmi .L13 2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 180 .loc 1 2268 7 discriminator 4 view .LVU48 181 001a D368 ldr r3, [r2, #12] 182 001c 1B04 lsls r3, r3, #16 183 001e 31D5 bpl .L18 184 .L13: 2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 185 .loc 1 2271 5 is_stmt 1 view .LVU49 2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 186 .loc 1 2271 9 is_stmt 0 view .LVU50 187 0020 9168 ldr r1, [r2, #8] ARM GAS /tmp/cc2rPMmj.s page 46 188 0022 0523 movs r3, #5 189 0024 0B40 ands r3, r1 2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 190 .loc 1 2271 8 view .LVU51 191 0026 012B cmp r3, #1 192 0028 09D0 beq .L22 2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 193 .loc 1 2279 7 is_stmt 1 view .LVU52 194 002a A36B ldr r3, [r4, #56] 195 002c 1022 movs r2, #16 196 002e 1343 orrs r3, r2 197 0030 A363 str r3, [r4, #56] 2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 198 .loc 1 2282 7 view .LVU53 199 0032 E36B ldr r3, [r4, #60] 200 0034 0F3A subs r2, r2, #15 201 0036 1343 orrs r3, r2 202 0038 E363 str r3, [r4, #60] 2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 203 .loc 1 2284 7 view .LVU54 2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 204 .loc 1 2284 14 is_stmt 0 view .LVU55 205 003a 0120 movs r0, #1 206 .LVL13: 2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 207 .loc 1 2284 14 view .LVU56 208 003c E9E7 b .L12 209 .LVL14: 210 .L22: 2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 211 .loc 1 2274 7 is_stmt 1 view .LVU57 2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 212 .loc 1 2274 7 view .LVU58 213 003e 9368 ldr r3, [r2, #8] 214 0040 0221 movs r1, #2 215 0042 0B43 orrs r3, r1 216 0044 9360 str r3, [r2, #8] 2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 217 .loc 1 2274 7 view .LVU59 218 0046 2368 ldr r3, [r4] 219 0048 0322 movs r2, #3 220 004a 1A60 str r2, [r3] 2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 221 .loc 1 2274 7 view .LVU60 2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 222 .loc 1 2289 5 view .LVU61 2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 223 .loc 1 2289 17 is_stmt 0 view .LVU62 224 004c FFF7FEFF bl HAL_GetTick 225 .LVL15: 2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 226 .loc 1 2289 17 view .LVU63 227 0050 0500 movs r5, r0 228 .LVL16: 2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 229 .loc 1 2291 5 is_stmt 1 view .LVU64 230 .L15: ARM GAS /tmp/cc2rPMmj.s page 47 2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 231 .loc 1 2291 11 view .LVU65 232 0052 2368 ldr r3, [r4] 233 0054 9B68 ldr r3, [r3, #8] 234 0056 DB07 lsls r3, r3, #31 235 0058 12D5 bpl .L23 2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 236 .loc 1 2293 7 view .LVU66 2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 237 .loc 1 2293 11 is_stmt 0 view .LVU67 238 005a FFF7FEFF bl HAL_GetTick 239 .LVL17: 2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 240 .loc 1 2293 25 discriminator 1 view .LVU68 241 005e 401B subs r0, r0, r5 2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 242 .loc 1 2293 9 discriminator 1 view .LVU69 243 0060 0228 cmp r0, #2 244 0062 F6D9 bls .L15 2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 245 .loc 1 2296 9 is_stmt 1 view .LVU70 2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 246 .loc 1 2296 12 is_stmt 0 view .LVU71 247 0064 2368 ldr r3, [r4] 248 0066 9B68 ldr r3, [r3, #8] 2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 249 .loc 1 2296 11 view .LVU72 250 0068 DB07 lsls r3, r3, #31 251 006a F2D5 bpl .L15 2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 252 .loc 1 2299 11 is_stmt 1 view .LVU73 253 006c A36B ldr r3, [r4, #56] 254 006e 1022 movs r2, #16 255 0070 1343 orrs r3, r2 256 0072 A363 str r3, [r4, #56] 2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 257 .loc 1 2302 11 view .LVU74 258 0074 E36B ldr r3, [r4, #60] 259 0076 0F3A subs r2, r2, #15 260 0078 1343 orrs r3, r2 261 007a E363 str r3, [r4, #60] 2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 262 .loc 1 2304 11 view .LVU75 2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 263 .loc 1 2304 18 is_stmt 0 view .LVU76 264 007c 0120 movs r0, #1 265 007e C8E7 b .L12 266 .L23: 2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 267 .loc 1 2311 10 view .LVU77 268 0080 0020 movs r0, #0 269 0082 C6E7 b .L12 270 .LVL18: 271 .L18: 2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 272 .loc 1 2311 10 view .LVU78 273 0084 0020 movs r0, #0 ARM GAS /tmp/cc2rPMmj.s page 48 274 .LVL19: 2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 275 .loc 1 2311 10 view .LVU79 276 0086 C4E7 b .L12 277 .cfi_endproc 278 .LFE63: 280 .global __aeabi_uidiv 281 .section .text.ADC_Enable,"ax",%progbits 282 .align 1 283 .syntax unified 284 .code 16 285 .thumb_func 287 ADC_Enable: 288 .LVL20: 289 .LFB62: 2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U; 290 .loc 1 2194 1 is_stmt 1 view -0 291 .cfi_startproc 292 @ args = 0, pretend = 0, frame = 8 293 @ frame_needed = 0, uses_anonymous_args = 0 2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U; 294 .loc 1 2194 1 is_stmt 0 view .LVU81 295 0000 30B5 push {r4, r5, lr} 296 .cfi_def_cfa_offset 12 297 .cfi_offset 4, -12 298 .cfi_offset 5, -8 299 .cfi_offset 14, -4 300 0002 83B0 sub sp, sp, #12 301 .cfi_def_cfa_offset 24 302 0004 0400 movs r4, r0 2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 303 .loc 1 2195 3 is_stmt 1 view .LVU82 304 .LVL21: 2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 305 .loc 1 2196 3 view .LVU83 2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 306 .loc 1 2196 17 is_stmt 0 view .LVU84 307 0006 0023 movs r3, #0 308 0008 0193 str r3, [sp, #4] 2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 309 .loc 1 2202 3 is_stmt 1 view .LVU85 2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 310 .loc 1 2202 7 is_stmt 0 view .LVU86 311 000a 0368 ldr r3, [r0] 312 000c 9968 ldr r1, [r3, #8] 313 000e 0322 movs r2, #3 314 0010 0A40 ands r2, r1 315 0012 012A cmp r2, #1 316 0014 14D0 beq .L35 317 .L25: 2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 318 .loc 1 2205 5 is_stmt 1 view .LVU87 2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 319 .loc 1 2205 9 is_stmt 0 view .LVU88 320 0016 9968 ldr r1, [r3, #8] 321 0018 224A ldr r2, .L39 2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { ARM GAS /tmp/cc2rPMmj.s page 49 322 .loc 1 2205 8 view .LVU89 323 001a 1142 tst r1, r2 324 001c 18D1 bne .L36 2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 325 .loc 1 2217 5 is_stmt 1 view .LVU90 326 001e 9A68 ldr r2, [r3, #8] 327 0020 0121 movs r1, #1 328 0022 0A43 orrs r2, r1 329 0024 9A60 str r2, [r3, #8] 2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 330 .loc 1 2221 5 view .LVU91 2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 331 .loc 1 2221 42 is_stmt 0 view .LVU92 332 0026 204B ldr r3, .L39+4 333 0028 1868 ldr r0, [r3] 334 .LVL22: 2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 335 .loc 1 2221 42 view .LVU93 336 002a 2049 ldr r1, .L39+8 337 002c FFF7FEFF bl __aeabi_uidiv 338 .LVL23: 2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 339 .loc 1 2221 21 view .LVU94 340 0030 0190 str r0, [sp, #4] 2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 341 .loc 1 2222 5 is_stmt 1 view .LVU95 342 .L28: 2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 343 .loc 1 2222 27 view .LVU96 344 0032 019B ldr r3, [sp, #4] 345 0034 002B cmp r3, #0 346 0036 15D0 beq .L37 2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 347 .loc 1 2224 7 view .LVU97 2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 348 .loc 1 2224 22 is_stmt 0 view .LVU98 349 0038 019B ldr r3, [sp, #4] 350 003a 013B subs r3, r3, #1 351 003c 0193 str r3, [sp, #4] 352 003e F8E7 b .L28 353 .LVL24: 354 .L35: 2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 355 .loc 1 2202 7 discriminator 1 view .LVU99 356 0040 1A68 ldr r2, [r3] 357 0042 D207 lsls r2, r2, #31 358 0044 2BD4 bmi .L32 2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 359 .loc 1 2202 7 discriminator 4 view .LVU100 360 0046 DA68 ldr r2, [r3, #12] 361 0048 1204 lsls r2, r2, #16 362 004a E4D5 bpl .L25 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 363 .loc 1 2251 10 view .LVU101 364 004c 0020 movs r0, #0 365 .LVL25: 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 50 366 .loc 1 2251 10 view .LVU102 367 004e 24E0 b .L26 368 .LVL26: 369 .L36: 2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 370 .loc 1 2208 7 is_stmt 1 view .LVU103 371 0050 A36B ldr r3, [r4, #56] 372 0052 1022 movs r2, #16 373 0054 1343 orrs r3, r2 374 0056 A363 str r3, [r4, #56] 2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 375 .loc 1 2211 7 view .LVU104 376 0058 E36B ldr r3, [r4, #60] 377 005a 0F3A subs r2, r2, #15 378 005c 1343 orrs r3, r2 379 005e E363 str r3, [r4, #60] 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 380 .loc 1 2213 7 view .LVU105 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 381 .loc 1 2213 14 is_stmt 0 view .LVU106 382 0060 0120 movs r0, #1 383 .LVL27: 2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 384 .loc 1 2213 14 view .LVU107 385 0062 1AE0 b .L26 386 .L37: 2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 387 .loc 1 2228 5 is_stmt 1 view .LVU108 2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 388 .loc 1 2228 17 is_stmt 0 view .LVU109 389 0064 FFF7FEFF bl HAL_GetTick 390 .LVL28: 391 0068 0500 movs r5, r0 392 .LVL29: 2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 393 .loc 1 2231 5 is_stmt 1 view .LVU110 394 .L30: 2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 395 .loc 1 2231 50 view .LVU111 2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 396 .loc 1 2231 11 is_stmt 0 view .LVU112 397 006a 2368 ldr r3, [r4] 398 006c 1B68 ldr r3, [r3] 2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 399 .loc 1 2231 50 view .LVU113 400 006e DB07 lsls r3, r3, #31 401 0070 12D4 bmi .L38 2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 402 .loc 1 2233 7 is_stmt 1 view .LVU114 2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 403 .loc 1 2233 11 is_stmt 0 view .LVU115 404 0072 FFF7FEFF bl HAL_GetTick 405 .LVL30: 2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 406 .loc 1 2233 25 discriminator 1 view .LVU116 407 0076 401B subs r0, r0, r5 2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { ARM GAS /tmp/cc2rPMmj.s page 51 408 .loc 1 2233 9 discriminator 1 view .LVU117 409 0078 0228 cmp r0, #2 410 007a F6D9 bls .L30 2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 411 .loc 1 2236 9 is_stmt 1 view .LVU118 2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 412 .loc 1 2236 12 is_stmt 0 view .LVU119 413 007c 2368 ldr r3, [r4] 414 007e 1B68 ldr r3, [r3] 2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 415 .loc 1 2236 11 view .LVU120 416 0080 DB07 lsls r3, r3, #31 417 0082 F2D4 bmi .L30 2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 418 .loc 1 2239 11 is_stmt 1 view .LVU121 419 0084 A36B ldr r3, [r4, #56] 420 0086 1022 movs r2, #16 421 0088 1343 orrs r3, r2 422 008a A363 str r3, [r4, #56] 2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 423 .loc 1 2242 11 view .LVU122 424 008c E36B ldr r3, [r4, #60] 425 008e 0F3A subs r2, r2, #15 426 0090 1343 orrs r3, r2 427 0092 E363 str r3, [r4, #60] 2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 428 .loc 1 2244 11 view .LVU123 2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 429 .loc 1 2244 18 is_stmt 0 view .LVU124 430 0094 0120 movs r0, #1 431 0096 00E0 b .L26 432 .L38: 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 433 .loc 1 2251 10 view .LVU125 434 0098 0020 movs r0, #0 435 .LVL31: 436 .L26: 2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 437 .loc 1 2252 1 view .LVU126 438 009a 03B0 add sp, sp, #12 439 @ sp needed 440 .LVL32: 2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 441 .loc 1 2252 1 view .LVU127 442 009c 30BD pop {r4, r5, pc} 443 .LVL33: 444 .L32: 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 445 .loc 1 2251 10 view .LVU128 446 009e 0020 movs r0, #0 447 .LVL34: 2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 448 .loc 1 2251 10 view .LVU129 449 00a0 FBE7 b .L26 450 .L40: 451 00a2 C046 .align 2 452 .L39: ARM GAS /tmp/cc2rPMmj.s page 52 453 00a4 17000080 .word -2147483625 454 00a8 00000000 .word SystemCoreClock 455 00ac 40420F00 .word 1000000 456 .cfi_endproc 457 .LFE62: 459 .section .text.HAL_ADC_MspInit,"ax",%progbits 460 .align 1 461 .weak HAL_ADC_MspInit 462 .syntax unified 463 .code 16 464 .thumb_func 466 HAL_ADC_MspInit: 467 .LVL35: 468 .LFB42: 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 469 .loc 1 766 1 is_stmt 1 view -0 470 .cfi_startproc 471 @ args = 0, pretend = 0, frame = 0 472 @ frame_needed = 0, uses_anonymous_args = 0 473 @ link register save eliminated. 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 474 .loc 1 768 3 view .LVU131 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 475 .loc 1 773 1 is_stmt 0 view .LVU132 476 @ sp needed 477 0000 7047 bx lr 478 .cfi_endproc 479 .LFE42: 481 .section .text.HAL_ADC_Init,"ax",%progbits 482 .align 1 483 .global HAL_ADC_Init 484 .syntax unified 485 .code 16 486 .thumb_func 488 HAL_ADC_Init: 489 .LVL36: 490 .LFB40: 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 491 .loc 1 398 1 is_stmt 1 view -0 492 .cfi_startproc 493 @ args = 0, pretend = 0, frame = 0 494 @ frame_needed = 0, uses_anonymous_args = 0 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 495 .loc 1 398 1 is_stmt 0 view .LVU134 496 0000 70B5 push {r4, r5, r6, lr} 497 .cfi_def_cfa_offset 16 498 .cfi_offset 4, -16 499 .cfi_offset 5, -12 500 .cfi_offset 6, -8 501 .cfi_offset 14, -4 502 0002 041E subs r4, r0, #0 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpCFGR1 = 0U; 503 .loc 1 399 3 is_stmt 1 view .LVU135 504 .LVL37: 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 505 .loc 1 400 3 view .LVU136 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { ARM GAS /tmp/cc2rPMmj.s page 53 506 .loc 1 403 3 view .LVU137 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 507 .loc 1 403 5 is_stmt 0 view .LVU138 508 0004 00D1 bne .LCB451 509 0006 B4E0 b .L56 @long jump 510 .LCB451: 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); 511 .loc 1 409 3 is_stmt 1 view .LVU139 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); 512 .loc 1 410 3 view .LVU140 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); 513 .loc 1 411 3 view .LVU141 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); 514 .loc 1 412 3 view .LVU142 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 515 .loc 1 413 3 view .LVU143 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); 516 .loc 1 414 3 view .LVU144 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 517 .loc 1 415 3 view .LVU145 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv)); 518 .loc 1 416 3 view .LVU146 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); 519 .loc 1 417 3 view .LVU147 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); 520 .loc 1 418 3 view .LVU148 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); 521 .loc 1 419 3 view .LVU149 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); 522 .loc 1 420 3 view .LVU150 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoPowerOff)); 523 .loc 1 421 3 view .LVU151 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 524 .loc 1 422 3 view .LVU152 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 525 .loc 1 432 3 view .LVU153 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 526 .loc 1 432 11 is_stmt 0 view .LVU154 527 0008 836B ldr r3, [r0, #56] 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 528 .loc 1 432 6 view .LVU155 529 000a 002B cmp r3, #0 530 000c 00D1 bne .LCB469 531 000e 80E0 b .L61 @long jump 532 .LCB469: 533 .LVL38: 534 .L44: 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) && 535 .loc 1 465 3 is_stmt 1 view .LVU156 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) && 536 .loc 1 465 7 is_stmt 0 view .LVU157 537 0010 A36B ldr r3, [r4, #56] 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) && 538 .loc 1 465 6 view .LVU158 539 0012 DB06 lsls r3, r3, #27 540 0014 00D5 bpl .LCB477 541 0016 A6E0 b .L45 @long jump ARM GAS /tmp/cc2rPMmj.s page 54 542 .LCB477: 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 543 .loc 1 467 8 view .LVU159 544 0018 2368 ldr r3, [r4] 545 001a 9A68 ldr r2, [r3, #8] 546 001c 0421 movs r1, #4 547 001e 0800 movs r0, r1 548 0020 1040 ands r0, r2 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) ) 549 .loc 1 466 65 view .LVU160 550 0022 1142 tst r1, r2 551 0024 00D0 beq .LCB484 552 0026 9EE0 b .L45 @long jump 553 .LCB484: 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 554 .loc 1 470 5 is_stmt 1 view .LVU161 555 0028 A26B ldr r2, [r4, #56] 556 002a 5349 ldr r1, .L66 557 002c 0A40 ands r2, r1 558 002e 0631 adds r1, r1, #6 559 0030 FF31 adds r1, r1, #255 560 0032 0A43 orrs r2, r1 561 0034 A263 str r2, [r4, #56] 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 562 .loc 1 479 5 view .LVU162 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 563 .loc 1 479 9 is_stmt 0 view .LVU163 564 0036 9968 ldr r1, [r3, #8] 565 0038 0322 movs r2, #3 566 003a 0A40 ands r2, r1 567 003c 012A cmp r2, #1 568 003e 6ED0 beq .L62 569 .L46: 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_RES , 570 .loc 1 490 7 is_stmt 1 view .LVU164 571 0040 DA68 ldr r2, [r3, #12] 572 0042 1821 movs r1, #24 573 0044 8A43 bics r2, r1 574 0046 A168 ldr r1, [r4, #8] 575 0048 0A43 orrs r2, r1 576 004a DA60 str r2, [r3, #12] 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR2_CKMODE , 577 .loc 1 496 7 view .LVU165 578 004c 2268 ldr r2, [r4] 579 004e 1369 ldr r3, [r2, #16] 580 0050 9B00 lsls r3, r3, #2 581 0052 9B08 lsrs r3, r3, #2 582 0054 6168 ldr r1, [r4, #4] 583 0056 0B43 orrs r3, r1 584 0058 1361 str r3, [r2, #16] 585 .L47: 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | 586 .loc 1 513 5 view .LVU166 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | 587 .loc 1 513 9 is_stmt 0 view .LVU167 588 005a 2268 ldr r2, [r4] 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ARM GAS /tmp/cc2rPMmj.s page 55 589 .loc 1 513 19 view .LVU168 590 005c D368 ldr r3, [r2, #12] 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | 591 .loc 1 513 27 view .LVU169 592 005e 4749 ldr r1, .L66+4 593 0060 0B40 ands r3, r1 594 0062 D360 str r3, [r2, #12] 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) | 595 .loc 1 524 5 is_stmt 1 view .LVU170 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) | 596 .loc 1 524 18 is_stmt 0 view .LVU171 597 0064 237E ldrb r3, [r4, #24] 598 0066 9B03 lsls r3, r3, #14 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | 599 .loc 1 525 18 view .LVU172 600 0068 627E ldrb r2, [r4, #25] 601 006a D203 lsls r2, r2, #15 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) | 602 .loc 1 524 83 view .LVU173 603 006c 1343 orrs r3, r2 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) | 604 .loc 1 526 18 view .LVU174 605 006e A17E ldrb r1, [r4, #26] 606 0070 4A03 lsls r2, r1, #13 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | 607 .loc 1 525 83 view .LVU175 608 0072 1343 orrs r3, r2 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign | 609 .loc 1 527 18 view .LVU176 610 0074 A26A ldr r2, [r4, #40] 611 0076 012A cmp r2, #1 612 0078 58D0 beq .L57 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign | 613 .loc 1 527 18 discriminator 1 view .LVU177 614 007a 8022 movs r2, #128 615 007c 5201 lsls r2, r2, #5 616 .L48: 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) | 617 .loc 1 526 83 view .LVU178 618 007e 1343 orrs r3, r2 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_SCANDIR(hadc->Init.ScanConvMode) | 619 .loc 1 528 28 view .LVU179 620 0080 E268 ldr r2, [r4, #12] 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign | 621 .loc 1 527 83 view .LVU180 622 0082 1343 orrs r3, r2 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) ); 623 .loc 1 529 18 view .LVU181 624 0084 2269 ldr r2, [r4, #16] 625 0086 022A cmp r2, #2 626 0088 52D0 beq .L63 627 .L49: 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_SCANDIR(hadc->Init.ScanConvMode) | 628 .loc 1 528 83 view .LVU182 629 008a 0343 orrs r3, r0 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 630 .loc 1 530 18 view .LVU183 ARM GAS /tmp/cc2rPMmj.s page 56 631 008c 2422 movs r2, #36 632 008e A25C ldrb r2, [r4, r2] 633 0090 5200 lsls r2, r2, #1 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) ); 634 .loc 1 529 83 view .LVU184 635 0092 1343 orrs r3, r2 636 .LVL39: 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 637 .loc 1 533 5 is_stmt 1 view .LVU185 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 638 .loc 1 533 19 is_stmt 0 view .LVU186 639 0094 E27E ldrb r2, [r4, #27] 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 640 .loc 1 533 8 view .LVU187 641 0096 012A cmp r2, #1 642 0098 4CD0 beq .L64 643 .L50: 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 644 .loc 1 559 5 is_stmt 1 view .LVU188 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 645 .loc 1 559 19 is_stmt 0 view .LVU189 646 009a E269 ldr r2, [r4, #28] 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 647 .loc 1 559 8 view .LVU190 648 009c C221 movs r1, #194 649 009e FF31 adds r1, r1, #255 650 00a0 8A42 cmp r2, r1 651 00a2 02D0 beq .L52 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge ); 652 .loc 1 561 7 is_stmt 1 view .LVU191 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 653 .loc 1 562 31 is_stmt 0 view .LVU192 654 00a4 216A ldr r1, [r4, #32] 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge ); 655 .loc 1 561 52 view .LVU193 656 00a6 0A43 orrs r2, r1 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge ); 657 .loc 1 561 16 view .LVU194 658 00a8 1343 orrs r3, r2 659 .LVL40: 660 .L52: 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 661 .loc 1 566 5 is_stmt 1 view .LVU195 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 662 .loc 1 566 9 is_stmt 0 view .LVU196 663 00aa 2168 ldr r1, [r4] 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 664 .loc 1 566 19 view .LVU197 665 00ac CA68 ldr r2, [r1, #12] 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 666 .loc 1 566 27 view .LVU198 667 00ae 1A43 orrs r2, r3 668 00b0 CA60 str r2, [r1, #12] 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 669 .loc 1 574 5 is_stmt 1 view .LVU199 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 670 .loc 1 574 9 is_stmt 0 view .LVU200 ARM GAS /tmp/cc2rPMmj.s page 57 671 00b2 E26A ldr r2, [r4, #44] 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 672 .loc 1 574 8 view .LVU201 673 00b4 8021 movs r1, #128 674 00b6 4905 lsls r1, r1, #21 675 00b8 8A42 cmp r2, r1 676 00ba 0DD0 beq .L53 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 677 .loc 1 574 9 discriminator 1 view .LVU202 678 00bc 012A cmp r2, #1 679 00be 0BD0 beq .L53 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 680 .loc 1 574 9 discriminator 2 view .LVU203 681 00c0 022A cmp r2, #2 682 00c2 09D0 beq .L53 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 683 .loc 1 574 9 discriminator 3 view .LVU204 684 00c4 032A cmp r2, #3 685 00c6 07D0 beq .L53 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 686 .loc 1 574 9 discriminator 4 view .LVU205 687 00c8 042A cmp r2, #4 688 00ca 05D0 beq .L53 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 689 .loc 1 574 9 discriminator 5 view .LVU206 690 00cc 052A cmp r2, #5 691 00ce 03D0 beq .L53 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 692 .loc 1 574 9 discriminator 6 view .LVU207 693 00d0 062A cmp r2, #6 694 00d2 01D0 beq .L53 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 695 .loc 1 574 9 discriminator 7 view .LVU208 696 00d4 072A cmp r2, #7 697 00d6 0AD1 bne .L54 698 .L53: 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 699 .loc 1 578 7 is_stmt 1 view .LVU209 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 700 .loc 1 578 11 is_stmt 0 view .LVU210 701 00d8 2068 ldr r0, [r4] 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 702 .loc 1 578 21 view .LVU211 703 00da 4169 ldr r1, [r0, #20] 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 704 .loc 1 578 28 view .LVU212 705 00dc 0722 movs r2, #7 706 00de 9143 bics r1, r2 707 00e0 4161 str r1, [r0, #20] 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 708 .loc 1 581 7 is_stmt 1 view .LVU213 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 709 .loc 1 581 11 is_stmt 0 view .LVU214 710 00e2 2068 ldr r0, [r4] 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 711 .loc 1 581 21 view .LVU215 712 00e4 4169 ldr r1, [r0, #20] ARM GAS /tmp/cc2rPMmj.s page 58 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 713 .loc 1 581 31 view .LVU216 714 00e6 E56A ldr r5, [r4, #44] 715 00e8 2A40 ands r2, r5 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 716 .loc 1 581 28 view .LVU217 717 00ea 0A43 orrs r2, r1 718 00ec 4261 str r2, [r0, #20] 719 .L54: 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1) 720 .loc 1 589 5 is_stmt 1 view .LVU218 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1) 721 .loc 1 589 14 is_stmt 0 view .LVU219 722 00ee 2268 ldr r2, [r4] 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1) 723 .loc 1 589 24 view .LVU220 724 00f0 D268 ldr r2, [r2, #12] 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1) 725 .loc 1 589 32 view .LVU221 726 00f2 2349 ldr r1, .L66+8 727 00f4 0A40 ands r2, r1 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1) 728 .loc 1 589 8 view .LVU222 729 00f6 9A42 cmp r2, r3 730 00f8 2BD0 beq .L65 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 731 .loc 1 603 7 is_stmt 1 view .LVU223 732 00fa A36B ldr r3, [r4, #56] 733 .LVL41: 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 734 .loc 1 603 7 is_stmt 0 view .LVU224 735 00fc 1222 movs r2, #18 736 00fe 9343 bics r3, r2 737 0100 023A subs r2, r2, #2 738 0102 1343 orrs r3, r2 739 0104 A363 str r3, [r4, #56] 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 740 .loc 1 608 7 is_stmt 1 view .LVU225 741 0106 E36B ldr r3, [r4, #60] 742 0108 0F3A subs r2, r2, #15 743 010a 1343 orrs r3, r2 744 010c E363 str r3, [r4, #60] 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 745 .loc 1 610 7 view .LVU226 746 .LVL42: 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 747 .loc 1 610 22 is_stmt 0 view .LVU227 748 010e 0120 movs r0, #1 749 0110 2EE0 b .L43 750 .LVL43: 751 .L61: 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 752 .loc 1 435 5 is_stmt 1 view .LVU228 753 0112 C363 str r3, [r0, #60] 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 754 .loc 1 438 5 view .LVU229 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 59 755 .loc 1 438 16 is_stmt 0 view .LVU230 756 0114 3422 movs r2, #52 757 0116 8354 strb r3, [r0, r2] 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 758 .loc 1 456 5 is_stmt 1 view .LVU231 759 0118 FFF7FEFF bl HAL_ADC_MspInit 760 .LVL44: 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 761 .loc 1 456 5 is_stmt 0 view .LVU232 762 011c 78E7 b .L44 763 .L62: 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 764 .loc 1 479 9 discriminator 1 view .LVU233 765 011e 1A68 ldr r2, [r3] 766 0120 D207 lsls r2, r2, #31 767 0122 9AD4 bmi .L47 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 768 .loc 1 479 9 discriminator 4 view .LVU234 769 0124 DA68 ldr r2, [r3, #12] 770 0126 1204 lsls r2, r2, #16 771 0128 97D4 bmi .L47 772 012a 89E7 b .L46 773 .L57: 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign | 774 .loc 1 527 18 discriminator 2 view .LVU235 775 012c 0200 movs r2, r0 776 012e A6E7 b .L48 777 .L63: 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) ); 778 .loc 1 529 18 discriminator 1 view .LVU236 779 0130 0420 movs r0, #4 780 0132 AAE7 b .L49 781 .LVL45: 782 .L64: 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 783 .loc 1 535 7 is_stmt 1 view .LVU237 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 784 .loc 1 535 10 is_stmt 0 view .LVU238 785 0134 0029 cmp r1, #0 786 0136 03D1 bne .L51 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 787 .loc 1 538 9 is_stmt 1 view .LVU239 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 788 .loc 1 538 18 is_stmt 0 view .LVU240 789 0138 8022 movs r2, #128 790 013a 5202 lsls r2, r2, #9 791 013c 1343 orrs r3, r2 792 .LVL46: 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 793 .loc 1 538 18 view .LVU241 794 013e ACE7 b .L50 795 .L51: 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 796 .loc 1 547 9 is_stmt 1 view .LVU242 797 0140 A26B ldr r2, [r4, #56] 798 0142 2021 movs r1, #32 799 0144 0A43 orrs r2, r1 ARM GAS /tmp/cc2rPMmj.s page 60 800 0146 A263 str r2, [r4, #56] 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 801 .loc 1 550 9 view .LVU243 802 0148 E26B ldr r2, [r4, #60] 803 014a 1F39 subs r1, r1, #31 804 014c 0A43 orrs r2, r1 805 014e E263 str r2, [r4, #60] 806 0150 A3E7 b .L50 807 .L65: 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 808 .loc 1 593 7 view .LVU244 809 0152 0023 movs r3, #0 810 .LVL47: 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 811 .loc 1 593 7 is_stmt 0 view .LVU245 812 0154 E363 str r3, [r4, #60] 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 813 .loc 1 596 7 is_stmt 1 view .LVU246 814 0156 A36B ldr r3, [r4, #56] 815 0158 0322 movs r2, #3 816 015a 9343 bics r3, r2 817 015c 023A subs r2, r2, #2 818 015e 1343 orrs r3, r2 819 0160 A363 str r3, [r4, #56] 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpCFGR1 = 0U; 820 .loc 1 399 21 is_stmt 0 view .LVU247 821 0162 0020 movs r0, #0 822 0164 04E0 b .L43 823 .LVL48: 824 .L45: 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 825 .loc 1 617 5 is_stmt 1 view .LVU248 826 0166 A36B ldr r3, [r4, #56] 827 0168 1022 movs r2, #16 828 016a 1343 orrs r3, r2 829 016c A363 str r3, [r4, #56] 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 830 .loc 1 619 5 view .LVU249 831 .LVL49: 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 832 .loc 1 619 20 is_stmt 0 view .LVU250 833 016e 0120 movs r0, #1 834 .LVL50: 835 .L43: 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 836 .loc 1 624 1 view .LVU251 837 @ sp needed 838 .LVL51: 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 839 .loc 1 624 1 view .LVU252 840 0170 70BD pop {r4, r5, r6, pc} 841 .LVL52: 842 .L56: 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 843 .loc 1 405 12 view .LVU253 844 0172 0120 movs r0, #1 845 .LVL53: ARM GAS /tmp/cc2rPMmj.s page 61 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 846 .loc 1 405 12 view .LVU254 847 0174 FCE7 b .L43 848 .L67: 849 0176 C046 .align 2 850 .L66: 851 0178 FDFEFFFF .word -259 852 017c 1902FEFF .word -130535 853 0180 E7FF3F83 .word -2092957721 854 .cfi_endproc 855 .LFE40: 857 .section .text.HAL_ADC_MspDeInit,"ax",%progbits 858 .align 1 859 .weak HAL_ADC_MspDeInit 860 .syntax unified 861 .code 16 862 .thumb_func 864 HAL_ADC_MspDeInit: 865 .LVL54: 866 .LFB43: 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 867 .loc 1 781 1 is_stmt 1 view -0 868 .cfi_startproc 869 @ args = 0, pretend = 0, frame = 0 870 @ frame_needed = 0, uses_anonymous_args = 0 871 @ link register save eliminated. 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 872 .loc 1 783 3 view .LVU256 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 873 .loc 1 788 1 is_stmt 0 view .LVU257 874 @ sp needed 875 0000 7047 bx lr 876 .cfi_endproc 877 .LFE43: 879 .section .text.HAL_ADC_DeInit,"ax",%progbits 880 .align 1 881 .global HAL_ADC_DeInit 882 .syntax unified 883 .code 16 884 .thumb_func 886 HAL_ADC_DeInit: 887 .LVL55: 888 .LFB41: 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 889 .loc 1 640 1 is_stmt 1 view -0 890 .cfi_startproc 891 @ args = 0, pretend = 0, frame = 0 892 @ frame_needed = 0, uses_anonymous_args = 0 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 893 .loc 1 640 1 is_stmt 0 view .LVU259 894 0000 70B5 push {r4, r5, r6, lr} 895 .cfi_def_cfa_offset 16 896 .cfi_offset 4, -16 897 .cfi_offset 5, -12 898 .cfi_offset 6, -8 899 .cfi_offset 14, -4 900 0002 041E subs r4, r0, #0 ARM GAS /tmp/cc2rPMmj.s page 62 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 901 .loc 1 641 3 is_stmt 1 view .LVU260 902 .LVL56: 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 903 .loc 1 644 3 view .LVU261 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 904 .loc 1 644 5 is_stmt 0 view .LVU262 905 0004 42D0 beq .L74 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 906 .loc 1 650 3 is_stmt 1 view .LVU263 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 907 .loc 1 653 3 view .LVU264 908 0006 836B ldr r3, [r0, #56] 909 0008 0222 movs r2, #2 910 000a 1343 orrs r3, r2 911 000c 8363 str r3, [r0, #56] 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 912 .loc 1 656 3 view .LVU265 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 913 .loc 1 656 20 is_stmt 0 view .LVU266 914 000e FFF7FEFF bl ADC_ConversionStop 915 .LVL57: 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 916 .loc 1 656 20 view .LVU267 917 0012 051E subs r5, r0, #0 918 .LVL58: 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 919 .loc 1 659 3 is_stmt 1 view .LVU268 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 920 .loc 1 659 6 is_stmt 0 view .LVU269 921 0014 31D0 beq .L75 922 .LVL59: 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 923 .loc 1 675 3 is_stmt 1 view .LVU270 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 924 .loc 1 675 6 is_stmt 0 view .LVU271 925 0016 0128 cmp r0, #1 926 0018 2AD0 beq .L72 927 .L73: 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOS | ADC_IT_EOC | 928 .loc 1 680 5 is_stmt 1 view .LVU272 929 001a 2168 ldr r1, [r4] 930 001c 4B68 ldr r3, [r1, #4] 931 001e 9F22 movs r2, #159 932 0020 9343 bics r3, r2 933 0022 4B60 str r3, [r1, #4] 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOS | ADC_FLAG_EOC | 934 .loc 1 685 5 view .LVU273 935 0024 2368 ldr r3, [r4] 936 0026 1A60 str r2, [r3] 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_ 937 .loc 1 694 5 view .LVU274 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_ 938 .loc 1 694 9 is_stmt 0 view .LVU275 939 0028 2268 ldr r2, [r4] 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_ 940 .loc 1 694 19 view .LVU276 ARM GAS /tmp/cc2rPMmj.s page 63 941 002a D368 ldr r3, [r2, #12] 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_ 942 .loc 1 694 27 view .LVU277 943 002c 1849 ldr r1, .L76 944 002e 0B40 ands r3, r1 945 0030 D360 str r3, [r2, #12] 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 946 .loc 1 702 5 is_stmt 1 view .LVU278 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 947 .loc 1 702 9 is_stmt 0 view .LVU279 948 0032 2268 ldr r2, [r4] 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 949 .loc 1 702 19 view .LVU280 950 0034 1369 ldr r3, [r2, #16] 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 951 .loc 1 702 27 view .LVU281 952 0036 9B00 lsls r3, r3, #2 953 0038 9B08 lsrs r3, r3, #2 954 003a 1361 str r3, [r2, #16] 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 955 .loc 1 705 5 is_stmt 1 view .LVU282 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 956 .loc 1 705 9 is_stmt 0 view .LVU283 957 003c 2268 ldr r2, [r4] 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 958 .loc 1 705 19 view .LVU284 959 003e 5369 ldr r3, [r2, #20] 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 960 .loc 1 705 26 view .LVU285 961 0040 0721 movs r1, #7 962 0042 8B43 bics r3, r1 963 0044 5361 str r3, [r2, #20] 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 964 .loc 1 708 5 is_stmt 1 view .LVU286 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 965 .loc 1 708 9 is_stmt 0 view .LVU287 966 0046 2268 ldr r2, [r4] 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 967 .loc 1 708 19 view .LVU288 968 0048 136A ldr r3, [r2, #32] 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 969 .loc 1 708 24 view .LVU289 970 004a 1249 ldr r1, .L76+4 971 004c 0B40 ands r3, r1 972 004e 1362 str r3, [r2, #32] 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_ 973 .loc 1 711 5 is_stmt 1 view .LVU290 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_ 974 .loc 1 711 9 is_stmt 0 view .LVU291 975 0050 2268 ldr r2, [r4] 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_ 976 .loc 1 711 19 view .LVU292 977 0052 936A ldr r3, [r2, #40] 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_ 978 .loc 1 711 28 view .LVU293 979 0054 DB0C lsrs r3, r3, #19 980 0056 DB04 lsls r3, r3, #19 ARM GAS /tmp/cc2rPMmj.s page 64 981 0058 9362 str r3, [r2, #40] 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 982 .loc 1 721 5 is_stmt 1 view .LVU294 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 983 .loc 1 721 8 is_stmt 0 view .LVU295 984 005a 0F4A ldr r2, .L76+8 985 005c 1368 ldr r3, [r2] 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 986 .loc 1 721 14 view .LVU296 987 005e 0F49 ldr r1, .L76+12 988 0060 0B40 ands r3, r1 989 0062 1360 str r3, [r2] 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 990 .loc 1 742 5 is_stmt 1 view .LVU297 991 0064 2000 movs r0, r4 992 0066 FFF7FEFF bl HAL_ADC_MspDeInit 993 .LVL60: 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 994 .loc 1 746 5 view .LVU298 995 006a 0023 movs r3, #0 996 006c E363 str r3, [r4, #60] 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 997 .loc 1 749 5 view .LVU299 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 998 .loc 1 749 17 is_stmt 0 view .LVU300 999 006e A363 str r3, [r4, #56] 1000 .L72: 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1001 .loc 1 753 3 is_stmt 1 view .LVU301 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1002 .loc 1 753 3 view .LVU302 1003 0070 3423 movs r3, #52 1004 0072 0022 movs r2, #0 1005 0074 E254 strb r2, [r4, r3] 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1006 .loc 1 753 3 view .LVU303 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1007 .loc 1 756 3 view .LVU304 1008 .L70: 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1009 .loc 1 757 1 is_stmt 0 view .LVU305 1010 0076 2800 movs r0, r5 1011 @ sp needed 1012 .LVL61: 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1013 .loc 1 757 1 view .LVU306 1014 0078 70BD pop {r4, r5, r6, pc} 1015 .LVL62: 1016 .L75: 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1017 .loc 1 662 5 is_stmt 1 view .LVU307 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1018 .loc 1 662 22 is_stmt 0 view .LVU308 1019 007a 2000 movs r0, r4 1020 .LVL63: 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1021 .loc 1 662 22 view .LVU309 ARM GAS /tmp/cc2rPMmj.s page 65 1022 007c FFF7FEFF bl ADC_Disable 1023 .LVL64: 1024 0080 0500 movs r5, r0 1025 .LVL65: 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1026 .loc 1 665 5 is_stmt 1 view .LVU310 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1027 .loc 1 665 8 is_stmt 0 view .LVU311 1028 0082 0128 cmp r0, #1 1029 0084 F4D0 beq .L72 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1030 .loc 1 668 7 is_stmt 1 view .LVU312 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1031 .loc 1 668 19 is_stmt 0 view .LVU313 1032 0086 0123 movs r3, #1 1033 0088 A363 str r3, [r4, #56] 1034 .LVL66: 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1035 .loc 1 675 3 is_stmt 1 view .LVU314 1036 008a C6E7 b .L73 1037 .LVL67: 1038 .L74: 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1039 .loc 1 646 13 is_stmt 0 view .LVU315 1040 008c 0125 movs r5, #1 1041 008e F2E7 b .L70 1042 .L77: 1043 .align 2 1044 .L76: 1045 0090 00023E83 .word -2093088256 1046 0094 00F000F0 .word -268374016 1047 0098 08270140 .word 1073817352 1048 009c FFFF3FFE .word -29360129 1049 .cfi_endproc 1050 .LFE41: 1052 .section .text.HAL_ADC_Start,"ax",%progbits 1053 .align 1 1054 .global HAL_ADC_Start 1055 .syntax unified 1056 .code 16 1057 .thumb_func 1059 HAL_ADC_Start: 1060 .LVL68: 1061 .LFB44: 1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1062 .loc 1 1019 1 is_stmt 1 view -0 1063 .cfi_startproc 1064 @ args = 0, pretend = 0, frame = 0 1065 @ frame_needed = 0, uses_anonymous_args = 0 1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1066 .loc 1 1019 1 is_stmt 0 view .LVU317 1067 0000 10B5 push {r4, lr} 1068 .cfi_def_cfa_offset 8 1069 .cfi_offset 4, -8 1070 .cfi_offset 14, -4 1071 0002 0400 movs r4, r0 1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 66 1072 .loc 1 1020 3 is_stmt 1 view .LVU318 1073 .LVL69: 1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1074 .loc 1 1023 3 view .LVU319 1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1075 .loc 1 1026 3 view .LVU320 1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1076 .loc 1 1026 7 is_stmt 0 view .LVU321 1077 0004 0368 ldr r3, [r0] 1078 0006 9B68 ldr r3, [r3, #8] 1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1079 .loc 1 1026 6 view .LVU322 1080 0008 5B07 lsls r3, r3, #29 1081 000a 23D4 bmi .L81 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1082 .loc 1 1029 5 is_stmt 1 view .LVU323 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1083 .loc 1 1029 5 view .LVU324 1084 000c 3423 movs r3, #52 1085 000e C35C ldrb r3, [r0, r3] 1086 0010 012B cmp r3, #1 1087 0012 21D0 beq .L82 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1088 .loc 1 1029 5 discriminator 2 view .LVU325 1089 0014 3423 movs r3, #52 1090 0016 0122 movs r2, #1 1091 0018 C254 strb r2, [r0, r3] 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1092 .loc 1 1029 5 discriminator 2 view .LVU326 1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1093 .loc 1 1034 5 view .LVU327 1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1094 .loc 1 1034 19 is_stmt 0 view .LVU328 1095 001a 437E ldrb r3, [r0, #25] 1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1096 .loc 1 1034 8 view .LVU329 1097 001c 012B cmp r3, #1 1098 001e 14D1 bne .L84 1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1099 .loc 1 1020 21 view .LVU330 1100 0020 0020 movs r0, #0 1101 .LVL70: 1102 .L80: 1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A 1103 .loc 1 1045 7 is_stmt 1 view .LVU331 1104 0022 A26B ldr r2, [r4, #56] 1105 0024 0D4B ldr r3, .L85 1106 0026 1A40 ands r2, r3 1107 0028 8023 movs r3, #128 1108 002a 5B00 lsls r3, r3, #1 1109 002c 1343 orrs r3, r2 1110 002e A363 str r3, [r4, #56] 1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1111 .loc 1 1050 7 view .LVU332 1112 0030 0023 movs r3, #0 1113 0032 E363 str r3, [r4, #60] 1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 67 1114 .loc 1 1055 7 view .LVU333 1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1115 .loc 1 1055 7 view .LVU334 1116 0034 3422 movs r2, #52 1117 0036 A354 strb r3, [r4, r2] 1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1118 .loc 1 1055 7 view .LVU335 1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1119 .loc 1 1060 7 view .LVU336 1120 0038 2368 ldr r3, [r4] 1121 003a 183A subs r2, r2, #24 1122 003c 1A60 str r2, [r3] 1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1123 .loc 1 1066 7 view .LVU337 1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1124 .loc 1 1066 11 is_stmt 0 view .LVU338 1125 003e 2268 ldr r2, [r4] 1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1126 .loc 1 1066 21 view .LVU339 1127 0040 9368 ldr r3, [r2, #8] 1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1128 .loc 1 1066 26 view .LVU340 1129 0042 0421 movs r1, #4 1130 0044 0B43 orrs r3, r1 1131 0046 9360 str r3, [r2, #8] 1132 .L79: 1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1133 .loc 1 1076 1 view .LVU341 1134 @ sp needed 1135 .LVL71: 1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1136 .loc 1 1076 1 view .LVU342 1137 0048 10BD pop {r4, pc} 1138 .LVL72: 1139 .L84: 1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1140 .loc 1 1036 7 is_stmt 1 view .LVU343 1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1141 .loc 1 1036 24 is_stmt 0 view .LVU344 1142 004a FFF7FEFF bl ADC_Enable 1143 .LVL73: 1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1144 .loc 1 1040 5 is_stmt 1 view .LVU345 1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1145 .loc 1 1040 8 is_stmt 0 view .LVU346 1146 004e 0028 cmp r0, #0 1147 0050 FAD1 bne .L79 1148 0052 E6E7 b .L80 1149 .LVL74: 1150 .L81: 1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1151 .loc 1 1071 20 view .LVU347 1152 0054 0220 movs r0, #2 1153 .LVL75: 1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1154 .loc 1 1071 20 view .LVU348 1155 0056 F7E7 b .L79 ARM GAS /tmp/cc2rPMmj.s page 68 1156 .LVL76: 1157 .L82: 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1158 .loc 1 1029 5 discriminator 1 view .LVU349 1159 0058 0220 movs r0, #2 1160 .LVL77: 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1161 .loc 1 1029 5 discriminator 1 view .LVU350 1162 005a F5E7 b .L79 1163 .L86: 1164 .align 2 1165 .L85: 1166 005c FEF0FFFF .word -3842 1167 .cfi_endproc 1168 .LFE44: 1170 .section .text.HAL_ADC_Stop,"ax",%progbits 1171 .align 1 1172 .global HAL_ADC_Stop 1173 .syntax unified 1174 .code 16 1175 .thumb_func 1177 HAL_ADC_Stop: 1178 .LVL78: 1179 .LFB45: 1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1180 .loc 1 1084 1 is_stmt 1 view -0 1181 .cfi_startproc 1182 @ args = 0, pretend = 0, frame = 0 1183 @ frame_needed = 0, uses_anonymous_args = 0 1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1184 .loc 1 1084 1 is_stmt 0 view .LVU352 1185 0000 10B5 push {r4, lr} 1186 .cfi_def_cfa_offset 8 1187 .cfi_offset 4, -8 1188 .cfi_offset 14, -4 1189 0002 0400 movs r4, r0 1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1190 .loc 1 1085 3 is_stmt 1 view .LVU353 1191 .LVL79: 1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1192 .loc 1 1088 3 view .LVU354 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1193 .loc 1 1091 3 view .LVU355 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1194 .loc 1 1091 3 view .LVU356 1195 0004 3423 movs r3, #52 1196 0006 C35C ldrb r3, [r0, r3] 1197 0008 012B cmp r3, #1 1198 000a 17D0 beq .L90 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1199 .loc 1 1091 3 discriminator 2 view .LVU357 1200 000c 3423 movs r3, #52 1201 000e 0122 movs r2, #1 1202 0010 C254 strb r2, [r0, r3] 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1203 .loc 1 1091 3 discriminator 2 view .LVU358 1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 69 1204 .loc 1 1094 3 view .LVU359 1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1205 .loc 1 1094 20 is_stmt 0 view .LVU360 1206 0012 FFF7FEFF bl ADC_ConversionStop 1207 .LVL80: 1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1208 .loc 1 1097 3 is_stmt 1 view .LVU361 1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1209 .loc 1 1097 6 is_stmt 0 view .LVU362 1210 0016 0028 cmp r0, #0 1211 0018 03D0 beq .L91 1212 .LVL81: 1213 .L89: 1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1214 .loc 1 1113 3 is_stmt 1 view .LVU363 1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1215 .loc 1 1113 3 view .LVU364 1216 001a 3423 movs r3, #52 1217 001c 0022 movs r2, #0 1218 001e E254 strb r2, [r4, r3] 1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1219 .loc 1 1113 3 view .LVU365 1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1220 .loc 1 1116 3 view .LVU366 1221 .LVL82: 1222 .L88: 1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1223 .loc 1 1117 1 is_stmt 0 view .LVU367 1224 @ sp needed 1225 .LVL83: 1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1226 .loc 1 1117 1 view .LVU368 1227 0020 10BD pop {r4, pc} 1228 .LVL84: 1229 .L91: 1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1230 .loc 1 1100 5 is_stmt 1 view .LVU369 1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1231 .loc 1 1100 22 is_stmt 0 view .LVU370 1232 0022 2000 movs r0, r4 1233 .LVL85: 1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1234 .loc 1 1100 22 view .LVU371 1235 0024 FFF7FEFF bl ADC_Disable 1236 .LVL86: 1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1237 .loc 1 1103 5 is_stmt 1 view .LVU372 1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1238 .loc 1 1103 8 is_stmt 0 view .LVU373 1239 0028 0028 cmp r0, #0 1240 002a F6D1 bne .L89 1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1241 .loc 1 1106 7 is_stmt 1 view .LVU374 1242 002c A36B ldr r3, [r4, #56] 1243 002e 044A ldr r2, .L92 1244 0030 1340 ands r3, r2 1245 0032 0432 adds r2, r2, #4 ARM GAS /tmp/cc2rPMmj.s page 70 1246 0034 FF32 adds r2, r2, #255 1247 0036 1343 orrs r3, r2 1248 0038 A363 str r3, [r4, #56] 1249 003a EEE7 b .L89 1250 .LVL87: 1251 .L90: 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1252 .loc 1 1091 3 is_stmt 0 discriminator 1 view .LVU375 1253 003c 0220 movs r0, #2 1254 .LVL88: 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1255 .loc 1 1091 3 discriminator 1 view .LVU376 1256 003e EFE7 b .L88 1257 .L93: 1258 .align 2 1259 .L92: 1260 0040 FEFEFFFF .word -258 1261 .cfi_endproc 1262 .LFE45: 1264 .section .text.HAL_ADC_PollForConversion,"ax",%progbits 1265 .align 1 1266 .global HAL_ADC_PollForConversion 1267 .syntax unified 1268 .code 16 1269 .thumb_func 1271 HAL_ADC_PollForConversion: 1272 .LVL89: 1273 .LFB46: 1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart; 1274 .loc 1 1138 1 is_stmt 1 view -0 1275 .cfi_startproc 1276 @ args = 0, pretend = 0, frame = 0 1277 @ frame_needed = 0, uses_anonymous_args = 0 1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart; 1278 .loc 1 1138 1 is_stmt 0 view .LVU378 1279 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 1280 .cfi_def_cfa_offset 24 1281 .cfi_offset 3, -24 1282 .cfi_offset 4, -20 1283 .cfi_offset 5, -16 1284 .cfi_offset 6, -12 1285 .cfi_offset 7, -8 1286 .cfi_offset 14, -4 1287 0002 0400 movs r4, r0 1288 0004 0E00 movs r6, r1 1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_Flag_EOC; 1289 .loc 1 1139 3 is_stmt 1 view .LVU379 1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1290 .loc 1 1140 3 view .LVU380 1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1291 .loc 1 1143 3 view .LVU381 1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1292 .loc 1 1146 3 view .LVU382 1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1293 .loc 1 1146 17 is_stmt 0 view .LVU383 1294 0006 4769 ldr r7, [r0, #20] 1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { ARM GAS /tmp/cc2rPMmj.s page 71 1295 .loc 1 1146 6 view .LVU384 1296 0008 082F cmp r7, #8 1297 000a 04D0 beq .L95 1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1298 .loc 1 1159 5 is_stmt 1 view .LVU385 1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1299 .loc 1 1159 9 is_stmt 0 view .LVU386 1300 000c 0368 ldr r3, [r0] 1301 000e DB68 ldr r3, [r3, #12] 1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1302 .loc 1 1159 8 view .LVU387 1303 0010 DB07 lsls r3, r3, #31 1304 0012 18D4 bmi .L108 1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1305 .loc 1 1171 20 view .LVU388 1306 0014 0C27 movs r7, #12 1307 .L95: 1308 .LVL90: 1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1309 .loc 1 1176 3 is_stmt 1 view .LVU389 1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1310 .loc 1 1176 15 is_stmt 0 view .LVU390 1311 0016 FFF7FEFF bl HAL_GetTick 1312 .LVL91: 1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1313 .loc 1 1176 15 view .LVU391 1314 001a 0500 movs r5, r0 1315 .LVL92: 1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1316 .loc 1 1179 3 is_stmt 1 view .LVU392 1317 .L98: 1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1318 .loc 1 1179 9 view .LVU393 1319 001c 2368 ldr r3, [r4] 1320 001e 1A68 ldr r2, [r3] 1321 0020 1742 tst r7, r2 1322 0022 1FD1 bne .L109 1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1323 .loc 1 1182 5 view .LVU394 1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1324 .loc 1 1182 7 is_stmt 0 view .LVU395 1325 0024 731C adds r3, r6, #1 1326 0026 F9D0 beq .L98 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1327 .loc 1 1184 7 is_stmt 1 view .LVU396 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1328 .loc 1 1184 9 is_stmt 0 view .LVU397 1329 0028 002E cmp r6, #0 1330 002a 15D1 bne .L110 1331 .L99: 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1332 .loc 1 1187 9 is_stmt 1 view .LVU398 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1333 .loc 1 1187 12 is_stmt 0 view .LVU399 1334 002c 2368 ldr r3, [r4] 1335 002e 1B68 ldr r3, [r3] 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { ARM GAS /tmp/cc2rPMmj.s page 72 1336 .loc 1 1187 11 view .LVU400 1337 0030 1F42 tst r7, r3 1338 0032 F3D1 bne .L98 1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1339 .loc 1 1190 11 is_stmt 1 view .LVU401 1340 0034 A36B ldr r3, [r4, #56] 1341 0036 0422 movs r2, #4 1342 0038 1343 orrs r3, r2 1343 003a A363 str r3, [r4, #56] 1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1344 .loc 1 1193 11 view .LVU402 1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1345 .loc 1 1193 11 view .LVU403 1346 003c 3423 movs r3, #52 1347 003e 0022 movs r2, #0 1348 0040 E254 strb r2, [r4, r3] 1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1349 .loc 1 1193 11 view .LVU404 1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1350 .loc 1 1195 11 view .LVU405 1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1351 .loc 1 1195 18 is_stmt 0 view .LVU406 1352 0042 0320 movs r0, #3 1353 0044 32E0 b .L96 1354 .LVL93: 1355 .L108: 1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1356 .loc 1 1162 7 is_stmt 1 view .LVU407 1357 0046 836B ldr r3, [r0, #56] 1358 0048 2022 movs r2, #32 1359 004a 1343 orrs r3, r2 1360 004c 8363 str r3, [r0, #56] 1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1361 .loc 1 1165 7 view .LVU408 1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1362 .loc 1 1165 7 view .LVU409 1363 004e 3423 movs r3, #52 1364 0050 0022 movs r2, #0 1365 0052 C254 strb r2, [r0, r3] 1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1366 .loc 1 1165 7 view .LVU410 1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1367 .loc 1 1167 7 view .LVU411 1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1368 .loc 1 1167 14 is_stmt 0 view .LVU412 1369 0054 0120 movs r0, #1 1370 .LVL94: 1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1371 .loc 1 1167 14 view .LVU413 1372 0056 29E0 b .L96 1373 .LVL95: 1374 .L110: 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1375 .loc 1 1184 30 discriminator 1 view .LVU414 1376 0058 FFF7FEFF bl HAL_GetTick 1377 .LVL96: 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { ARM GAS /tmp/cc2rPMmj.s page 73 1378 .loc 1 1184 43 discriminator 1 view .LVU415 1379 005c 401B subs r0, r0, r5 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1380 .loc 1 1184 25 discriminator 1 view .LVU416 1381 005e B042 cmp r0, r6 1382 0060 DCD9 bls .L98 1383 0062 E3E7 b .L99 1384 .L109: 1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1385 .loc 1 1202 3 is_stmt 1 view .LVU417 1386 0064 A16B ldr r1, [r4, #56] 1387 0066 8022 movs r2, #128 1388 0068 9200 lsls r2, r2, #2 1389 006a 0A43 orrs r2, r1 1390 006c A263 str r2, [r4, #56] 1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 1391 .loc 1 1206 3 view .LVU418 1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 1392 .loc 1 1206 6 is_stmt 0 view .LVU419 1393 006e D968 ldr r1, [r3, #12] 1394 0070 C022 movs r2, #192 1395 0072 1201 lsls r2, r2, #4 1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 1396 .loc 1 1206 5 view .LVU420 1397 0074 1142 tst r1, r2 1398 0076 13D1 bne .L102 1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1399 .loc 1 1207 17 view .LVU421 1400 0078 A27E ldrb r2, [r4, #26] 1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 1401 .loc 1 1206 49 discriminator 1 view .LVU422 1402 007a 002A cmp r2, #0 1403 007c 10D1 bne .L102 1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1404 .loc 1 1210 5 is_stmt 1 view .LVU423 1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1405 .loc 1 1210 9 is_stmt 0 view .LVU424 1406 007e 1A68 ldr r2, [r3] 1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1407 .loc 1 1210 7 view .LVU425 1408 0080 1207 lsls r2, r2, #28 1409 0082 0DD5 bpl .L102 1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1410 .loc 1 1214 7 is_stmt 1 view .LVU426 1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1411 .loc 1 1214 11 is_stmt 0 view .LVU427 1412 0084 9A68 ldr r2, [r3, #8] 1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1413 .loc 1 1214 10 view .LVU428 1414 0086 5207 lsls r2, r2, #29 1415 0088 11D4 bmi .L103 1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1416 .loc 1 1220 9 is_stmt 1 view .LVU429 1417 008a 5A68 ldr r2, [r3, #4] 1418 008c 0C21 movs r1, #12 1419 008e 8A43 bics r2, r1 1420 0090 5A60 str r2, [r3, #4] ARM GAS /tmp/cc2rPMmj.s page 74 1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1421 .loc 1 1223 9 view .LVU430 1422 0092 A36B ldr r3, [r4, #56] 1423 0094 0B4A ldr r2, .L111 1424 0096 1340 ands r3, r2 1425 0098 0432 adds r2, r2, #4 1426 009a FF32 adds r2, r2, #255 1427 009c 1343 orrs r3, r2 1428 009e A363 str r3, [r4, #56] 1429 .L102: 1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1430 .loc 1 1241 3 view .LVU431 1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1431 .loc 1 1241 17 is_stmt 0 view .LVU432 1432 00a0 207E ldrb r0, [r4, #24] 1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1433 .loc 1 1241 6 view .LVU433 1434 00a2 0028 cmp r0, #0 1435 00a4 0CD1 bne .L105 1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1436 .loc 1 1244 5 is_stmt 1 view .LVU434 1437 00a6 2368 ldr r3, [r4] 1438 00a8 0C22 movs r2, #12 1439 00aa 1A60 str r2, [r3] 1440 .LVL97: 1441 .L96: 1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1442 .loc 1 1249 1 is_stmt 0 view .LVU435 1443 @ sp needed 1444 .LVL98: 1445 .LVL99: 1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1446 .loc 1 1249 1 view .LVU436 1447 00ac F8BD pop {r3, r4, r5, r6, r7, pc} 1448 .LVL100: 1449 .L103: 1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1450 .loc 1 1230 9 is_stmt 1 view .LVU437 1451 00ae A36B ldr r3, [r4, #56] 1452 00b0 2022 movs r2, #32 1453 00b2 1343 orrs r3, r2 1454 00b4 A363 str r3, [r4, #56] 1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1455 .loc 1 1233 9 view .LVU438 1456 00b6 E36B ldr r3, [r4, #60] 1457 00b8 1F3A subs r2, r2, #31 1458 00ba 1343 orrs r3, r2 1459 00bc E363 str r3, [r4, #60] 1460 00be EFE7 b .L102 1461 .L105: 1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1462 .loc 1 1248 10 is_stmt 0 view .LVU439 1463 00c0 0020 movs r0, #0 1464 00c2 F3E7 b .L96 1465 .L112: 1466 .align 2 1467 .L111: ARM GAS /tmp/cc2rPMmj.s page 75 1468 00c4 FEFEFFFF .word -258 1469 .cfi_endproc 1470 .LFE46: 1472 .section .text.HAL_ADC_PollForEvent,"ax",%progbits 1473 .align 1 1474 .global HAL_ADC_PollForEvent 1475 .syntax unified 1476 .code 16 1477 .thumb_func 1479 HAL_ADC_PollForEvent: 1480 .LVL101: 1481 .LFB47: 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart=0; 1482 .loc 1 1262 1 is_stmt 1 view -0 1483 .cfi_startproc 1484 @ args = 0, pretend = 0, frame = 0 1485 @ frame_needed = 0, uses_anonymous_args = 0 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart=0; 1486 .loc 1 1262 1 is_stmt 0 view .LVU441 1487 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 1488 .cfi_def_cfa_offset 24 1489 .cfi_offset 3, -24 1490 .cfi_offset 4, -20 1491 .cfi_offset 5, -16 1492 .cfi_offset 6, -12 1493 .cfi_offset 7, -8 1494 .cfi_offset 14, -4 1495 0002 0600 movs r6, r0 1496 0004 0C00 movs r4, r1 1497 0006 1700 movs r7, r2 1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1498 .loc 1 1263 3 is_stmt 1 view .LVU442 1499 .LVL102: 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType)); 1500 .loc 1 1266 3 view .LVU443 1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1501 .loc 1 1267 3 view .LVU444 1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1502 .loc 1 1270 3 view .LVU445 1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1503 .loc 1 1270 15 is_stmt 0 view .LVU446 1504 0008 FFF7FEFF bl HAL_GetTick 1505 .LVL103: 1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1506 .loc 1 1270 15 view .LVU447 1507 000c 0500 movs r5, r0 1508 .LVL104: 1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1509 .loc 1 1273 3 is_stmt 1 view .LVU448 1510 .L115: 1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1511 .loc 1 1273 45 view .LVU449 1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1512 .loc 1 1273 9 is_stmt 0 view .LVU450 1513 000e 3168 ldr r1, [r6] 1514 0010 0B68 ldr r3, [r1] 1515 0012 2340 ands r3, r4 ARM GAS /tmp/cc2rPMmj.s page 76 1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1516 .loc 1 1273 45 view .LVU451 1517 0014 A342 cmp r3, r4 1518 0016 17D0 beq .L123 1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1519 .loc 1 1276 5 is_stmt 1 view .LVU452 1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1520 .loc 1 1276 7 is_stmt 0 view .LVU453 1521 0018 7B1C adds r3, r7, #1 1522 001a F8D0 beq .L115 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1523 .loc 1 1278 7 is_stmt 1 view .LVU454 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1524 .loc 1 1278 9 is_stmt 0 view .LVU455 1525 001c 002F cmp r7, #0 1526 001e 0DD1 bne .L124 1527 .L116: 1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1528 .loc 1 1281 9 is_stmt 1 view .LVU456 1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1529 .loc 1 1281 12 is_stmt 0 view .LVU457 1530 0020 3368 ldr r3, [r6] 1531 0022 1B68 ldr r3, [r3] 1532 0024 2340 ands r3, r4 1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1533 .loc 1 1281 11 view .LVU458 1534 0026 A342 cmp r3, r4 1535 0028 F1D0 beq .L115 1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1536 .loc 1 1284 11 is_stmt 1 view .LVU459 1537 002a B36B ldr r3, [r6, #56] 1538 002c 0422 movs r2, #4 1539 002e 1343 orrs r3, r2 1540 0030 B363 str r3, [r6, #56] 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1541 .loc 1 1287 11 view .LVU460 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1542 .loc 1 1287 11 view .LVU461 1543 0032 3423 movs r3, #52 1544 0034 0022 movs r2, #0 1545 0036 F254 strb r2, [r6, r3] 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1546 .loc 1 1287 11 view .LVU462 1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1547 .loc 1 1289 11 view .LVU463 1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1548 .loc 1 1289 18 is_stmt 0 view .LVU464 1549 0038 0320 movs r0, #3 1550 003a 0DE0 b .L118 1551 .L124: 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1552 .loc 1 1278 31 discriminator 1 view .LVU465 1553 003c FFF7FEFF bl HAL_GetTick 1554 .LVL105: 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1555 .loc 1 1278 44 discriminator 1 view .LVU466 1556 0040 401B subs r0, r0, r5 ARM GAS /tmp/cc2rPMmj.s page 77 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1557 .loc 1 1278 26 discriminator 1 view .LVU467 1558 0042 B842 cmp r0, r7 1559 0044 E3D9 bls .L115 1560 0046 EBE7 b .L116 1561 .L123: 1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1562 .loc 1 1295 3 is_stmt 1 view .LVU468 1563 0048 802C cmp r4, #128 1564 004a 06D0 beq .L125 1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1565 .loc 1 1312 5 view .LVU469 1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1566 .loc 1 1312 19 is_stmt 0 view .LVU470 1567 004c B36A ldr r3, [r6, #40] 1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1568 .loc 1 1312 8 view .LVU471 1569 004e 012B cmp r3, #1 1570 0050 0CD0 beq .L126 1571 .L121: 1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1572 .loc 1 1322 5 is_stmt 1 view .LVU472 1573 0052 1023 movs r3, #16 1574 0054 0B60 str r3, [r1] 1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1575 .loc 1 1323 5 view .LVU473 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1576 .loc 1 1327 10 is_stmt 0 view .LVU474 1577 0056 0020 movs r0, #0 1578 .L118: 1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1579 .loc 1 1328 1 view .LVU475 1580 @ sp needed 1581 .LVL106: 1582 .LVL107: 1583 .LVL108: 1584 .LVL109: 1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1585 .loc 1 1328 1 view .LVU476 1586 0058 F8BD pop {r3, r4, r5, r6, r7, pc} 1587 .LVL110: 1588 .L125: 1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1589 .loc 1 1300 5 is_stmt 1 view .LVU477 1590 005a B26B ldr r2, [r6, #56] 1591 005c 8023 movs r3, #128 1592 005e 5B02 lsls r3, r3, #9 1593 0060 1343 orrs r3, r2 1594 0062 B363 str r3, [r6, #56] 1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1595 .loc 1 1303 5 view .LVU478 1596 0064 8023 movs r3, #128 1597 0066 0B60 str r3, [r1] 1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1598 .loc 1 1304 5 view .LVU479 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1599 .loc 1 1327 10 is_stmt 0 view .LVU480 ARM GAS /tmp/cc2rPMmj.s page 78 1600 0068 0020 movs r0, #0 1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1601 .loc 1 1304 5 view .LVU481 1602 006a F5E7 b .L118 1603 .L126: 1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1604 .loc 1 1315 7 is_stmt 1 view .LVU482 1605 006c B26B ldr r2, [r6, #56] 1606 006e 8023 movs r3, #128 1607 0070 DB00 lsls r3, r3, #3 1608 0072 1343 orrs r3, r2 1609 0074 B363 str r3, [r6, #56] 1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1610 .loc 1 1318 7 view .LVU483 1611 0076 F36B ldr r3, [r6, #60] 1612 0078 0222 movs r2, #2 1613 007a 1343 orrs r3, r2 1614 007c F363 str r3, [r6, #60] 1615 007e E8E7 b .L121 1616 .cfi_endproc 1617 .LFE47: 1619 .section .text.HAL_ADC_Start_IT,"ax",%progbits 1620 .align 1 1621 .global HAL_ADC_Start_IT 1622 .syntax unified 1623 .code 16 1624 .thumb_func 1626 HAL_ADC_Start_IT: 1627 .LVL111: 1628 .LFB48: 1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1629 .loc 1 1342 1 view -0 1630 .cfi_startproc 1631 @ args = 0, pretend = 0, frame = 0 1632 @ frame_needed = 0, uses_anonymous_args = 0 1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1633 .loc 1 1342 1 is_stmt 0 view .LVU485 1634 0000 10B5 push {r4, lr} 1635 .cfi_def_cfa_offset 8 1636 .cfi_offset 4, -8 1637 .cfi_offset 14, -4 1638 0002 0400 movs r4, r0 1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1639 .loc 1 1343 3 is_stmt 1 view .LVU486 1640 .LVL112: 1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1641 .loc 1 1346 3 view .LVU487 1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1642 .loc 1 1349 3 view .LVU488 1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1643 .loc 1 1349 7 is_stmt 0 view .LVU489 1644 0004 0368 ldr r3, [r0] 1645 0006 9B68 ldr r3, [r3, #8] 1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1646 .loc 1 1349 6 view .LVU490 1647 0008 5B07 lsls r3, r3, #29 1648 000a 36D4 bmi .L132 ARM GAS /tmp/cc2rPMmj.s page 79 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1649 .loc 1 1352 5 is_stmt 1 view .LVU491 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1650 .loc 1 1352 5 view .LVU492 1651 000c 3423 movs r3, #52 1652 000e C35C ldrb r3, [r0, r3] 1653 0010 012B cmp r3, #1 1654 0012 34D0 beq .L133 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1655 .loc 1 1352 5 discriminator 2 view .LVU493 1656 0014 3423 movs r3, #52 1657 0016 0122 movs r2, #1 1658 0018 C254 strb r2, [r0, r3] 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1659 .loc 1 1352 5 discriminator 2 view .LVU494 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1660 .loc 1 1357 5 view .LVU495 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1661 .loc 1 1357 19 is_stmt 0 view .LVU496 1662 001a 437E ldrb r3, [r0, #25] 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1663 .loc 1 1357 8 view .LVU497 1664 001c 012B cmp r3, #1 1665 001e 1CD1 bne .L135 1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1666 .loc 1 1343 21 view .LVU498 1667 0020 0020 movs r0, #0 1668 .LVL113: 1669 .L129: 1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A 1670 .loc 1 1368 7 is_stmt 1 view .LVU499 1671 0022 A26B ldr r2, [r4, #56] 1672 0024 174B ldr r3, .L137 1673 0026 1A40 ands r2, r3 1674 0028 8023 movs r3, #128 1675 002a 5B00 lsls r3, r3, #1 1676 002c 1343 orrs r3, r2 1677 002e A363 str r3, [r4, #56] 1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1678 .loc 1 1373 7 view .LVU500 1679 0030 0023 movs r3, #0 1680 0032 E363 str r3, [r4, #60] 1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1681 .loc 1 1378 7 view .LVU501 1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1682 .loc 1 1378 7 view .LVU502 1683 0034 3422 movs r2, #52 1684 0036 A354 strb r3, [r4, r2] 1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1685 .loc 1 1378 7 view .LVU503 1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1686 .loc 1 1383 7 view .LVU504 1687 0038 2368 ldr r3, [r4] 1688 003a 183A subs r2, r2, #24 1689 003c 1A60 str r2, [r3] 1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1690 .loc 1 1387 7 view .LVU505 ARM GAS /tmp/cc2rPMmj.s page 80 1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1691 .loc 1 1387 24 is_stmt 0 view .LVU506 1692 003e 6369 ldr r3, [r4, #20] 1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1693 .loc 1 1387 7 view .LVU507 1694 0040 082B cmp r3, #8 1695 0042 0FD0 beq .L136 1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1696 .loc 1 1395 11 is_stmt 1 view .LVU508 1697 0044 2268 ldr r2, [r4] 1698 0046 5368 ldr r3, [r2, #4] 1699 0048 1C21 movs r1, #28 1700 004a 0B43 orrs r3, r1 1701 004c 5360 str r3, [r2, #4] 1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1702 .loc 1 1396 11 view .LVU509 1703 .L131: 1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1704 .loc 1 1403 7 view .LVU510 1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1705 .loc 1 1403 11 is_stmt 0 view .LVU511 1706 004e 2268 ldr r2, [r4] 1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1707 .loc 1 1403 21 view .LVU512 1708 0050 9368 ldr r3, [r2, #8] 1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1709 .loc 1 1403 26 view .LVU513 1710 0052 0421 movs r1, #4 1711 0054 0B43 orrs r3, r1 1712 0056 9360 str r3, [r2, #8] 1713 .L128: 1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1714 .loc 1 1413 1 view .LVU514 1715 @ sp needed 1716 .LVL114: 1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1717 .loc 1 1413 1 view .LVU515 1718 0058 10BD pop {r4, pc} 1719 .LVL115: 1720 .L135: 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1721 .loc 1 1359 7 is_stmt 1 view .LVU516 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1722 .loc 1 1359 24 is_stmt 0 view .LVU517 1723 005a FFF7FEFF bl ADC_Enable 1724 .LVL116: 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1725 .loc 1 1363 5 is_stmt 1 view .LVU518 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1726 .loc 1 1363 8 is_stmt 0 view .LVU519 1727 005e 0028 cmp r0, #0 1728 0060 FAD1 bne .L128 1729 0062 DEE7 b .L129 1730 .LVL117: 1731 .L136: 1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOS | ADC_IT_OVR)); 1732 .loc 1 1390 11 is_stmt 1 view .LVU520 ARM GAS /tmp/cc2rPMmj.s page 81 1733 0064 2268 ldr r2, [r4] 1734 0066 5368 ldr r3, [r2, #4] 1735 0068 0421 movs r1, #4 1736 006a 8B43 bics r3, r1 1737 006c 5360 str r3, [r2, #4] 1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break; 1738 .loc 1 1391 11 view .LVU521 1739 006e 2268 ldr r2, [r4] 1740 0070 5368 ldr r3, [r2, #4] 1741 0072 1431 adds r1, r1, #20 1742 0074 0B43 orrs r3, r1 1743 0076 5360 str r3, [r2, #4] 1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* case ADC_EOC_SINGLE_CONV */ 1744 .loc 1 1392 11 view .LVU522 1745 0078 E9E7 b .L131 1746 .LVL118: 1747 .L132: 1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1748 .loc 1 1408 20 is_stmt 0 view .LVU523 1749 007a 0220 movs r0, #2 1750 .LVL119: 1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1751 .loc 1 1408 20 view .LVU524 1752 007c ECE7 b .L128 1753 .LVL120: 1754 .L133: 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1755 .loc 1 1352 5 discriminator 1 view .LVU525 1756 007e 0220 movs r0, #2 1757 .LVL121: 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1758 .loc 1 1352 5 discriminator 1 view .LVU526 1759 0080 EAE7 b .L128 1760 .L138: 1761 0082 C046 .align 2 1762 .L137: 1763 0084 FEF0FFFF .word -3842 1764 .cfi_endproc 1765 .LFE48: 1767 .section .text.HAL_ADC_Stop_IT,"ax",%progbits 1768 .align 1 1769 .global HAL_ADC_Stop_IT 1770 .syntax unified 1771 .code 16 1772 .thumb_func 1774 HAL_ADC_Stop_IT: 1775 .LVL122: 1776 .LFB49: 1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1777 .loc 1 1423 1 is_stmt 1 view -0 1778 .cfi_startproc 1779 @ args = 0, pretend = 0, frame = 0 1780 @ frame_needed = 0, uses_anonymous_args = 0 1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1781 .loc 1 1423 1 is_stmt 0 view .LVU528 1782 0000 10B5 push {r4, lr} 1783 .cfi_def_cfa_offset 8 ARM GAS /tmp/cc2rPMmj.s page 82 1784 .cfi_offset 4, -8 1785 .cfi_offset 14, -4 1786 0002 0400 movs r4, r0 1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1787 .loc 1 1424 3 is_stmt 1 view .LVU529 1788 .LVL123: 1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1789 .loc 1 1427 3 view .LVU530 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1790 .loc 1 1430 3 view .LVU531 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1791 .loc 1 1430 3 view .LVU532 1792 0004 3423 movs r3, #52 1793 0006 C35C ldrb r3, [r0, r3] 1794 0008 012B cmp r3, #1 1795 000a 1CD0 beq .L142 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1796 .loc 1 1430 3 discriminator 2 view .LVU533 1797 000c 3423 movs r3, #52 1798 000e 0122 movs r2, #1 1799 0010 C254 strb r2, [r0, r3] 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1800 .loc 1 1430 3 discriminator 2 view .LVU534 1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1801 .loc 1 1433 3 view .LVU535 1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1802 .loc 1 1433 20 is_stmt 0 view .LVU536 1803 0012 FFF7FEFF bl ADC_ConversionStop 1804 .LVL124: 1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1805 .loc 1 1436 3 is_stmt 1 view .LVU537 1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1806 .loc 1 1436 6 is_stmt 0 view .LVU538 1807 0016 0028 cmp r0, #0 1808 0018 03D0 beq .L143 1809 .LVL125: 1810 .L141: 1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1811 .loc 1 1456 3 is_stmt 1 view .LVU539 1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1812 .loc 1 1456 3 view .LVU540 1813 001a 3423 movs r3, #52 1814 001c 0022 movs r2, #0 1815 001e E254 strb r2, [r4, r3] 1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1816 .loc 1 1456 3 view .LVU541 1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1817 .loc 1 1459 3 view .LVU542 1818 .LVL126: 1819 .L140: 1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1820 .loc 1 1460 1 is_stmt 0 view .LVU543 1821 @ sp needed 1822 .LVL127: 1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1823 .loc 1 1460 1 view .LVU544 1824 0020 10BD pop {r4, pc} ARM GAS /tmp/cc2rPMmj.s page 83 1825 .LVL128: 1826 .L143: 1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1827 .loc 1 1440 5 is_stmt 1 view .LVU545 1828 0022 2268 ldr r2, [r4] 1829 0024 5368 ldr r3, [r2, #4] 1830 0026 1C21 movs r1, #28 1831 0028 8B43 bics r3, r1 1832 002a 5360 str r3, [r2, #4] 1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1833 .loc 1 1443 5 view .LVU546 1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1834 .loc 1 1443 22 is_stmt 0 view .LVU547 1835 002c 2000 movs r0, r4 1836 .LVL129: 1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1837 .loc 1 1443 22 view .LVU548 1838 002e FFF7FEFF bl ADC_Disable 1839 .LVL130: 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1840 .loc 1 1446 5 is_stmt 1 view .LVU549 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1841 .loc 1 1446 8 is_stmt 0 view .LVU550 1842 0032 0028 cmp r0, #0 1843 0034 F1D1 bne .L141 1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 1844 .loc 1 1449 7 is_stmt 1 view .LVU551 1845 0036 A36B ldr r3, [r4, #56] 1846 0038 044A ldr r2, .L144 1847 003a 1340 ands r3, r2 1848 003c 0432 adds r2, r2, #4 1849 003e FF32 adds r2, r2, #255 1850 0040 1343 orrs r3, r2 1851 0042 A363 str r3, [r4, #56] 1852 0044 E9E7 b .L141 1853 .LVL131: 1854 .L142: 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1855 .loc 1 1430 3 is_stmt 0 discriminator 1 view .LVU552 1856 0046 0220 movs r0, #2 1857 .LVL132: 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1858 .loc 1 1430 3 discriminator 1 view .LVU553 1859 0048 EAE7 b .L140 1860 .L145: 1861 004a C046 .align 2 1862 .L144: 1863 004c FEFEFFFF .word -258 1864 .cfi_endproc 1865 .LFE49: 1867 .section .text.HAL_ADC_Start_DMA,"ax",%progbits 1868 .align 1 1869 .global HAL_ADC_Start_DMA 1870 .syntax unified 1871 .code 16 1872 .thumb_func 1874 HAL_ADC_Start_DMA: ARM GAS /tmp/cc2rPMmj.s page 84 1875 .LVL133: 1876 .LFB50: 1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1877 .loc 1 1476 1 is_stmt 1 view -0 1878 .cfi_startproc 1879 @ args = 0, pretend = 0, frame = 0 1880 @ frame_needed = 0, uses_anonymous_args = 0 1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1881 .loc 1 1476 1 is_stmt 0 view .LVU555 1882 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 1883 .cfi_def_cfa_offset 24 1884 .cfi_offset 3, -24 1885 .cfi_offset 4, -20 1886 .cfi_offset 5, -16 1887 .cfi_offset 6, -12 1888 .cfi_offset 7, -8 1889 .cfi_offset 14, -4 1890 0002 0400 movs r4, r0 1891 0004 0D00 movs r5, r1 1892 0006 1600 movs r6, r2 1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1893 .loc 1 1477 3 is_stmt 1 view .LVU556 1894 .LVL134: 1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1895 .loc 1 1480 3 view .LVU557 1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1896 .loc 1 1483 3 view .LVU558 1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1897 .loc 1 1483 7 is_stmt 0 view .LVU559 1898 0008 0368 ldr r3, [r0] 1899 000a 9B68 ldr r3, [r3, #8] 1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1900 .loc 1 1483 6 view .LVU560 1901 000c 5B07 lsls r3, r3, #29 1902 000e 3ED4 bmi .L149 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1903 .loc 1 1486 5 is_stmt 1 view .LVU561 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1904 .loc 1 1486 5 view .LVU562 1905 0010 3423 movs r3, #52 1906 0012 C35C ldrb r3, [r0, r3] 1907 0014 012B cmp r3, #1 1908 0016 3CD0 beq .L150 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1909 .loc 1 1486 5 discriminator 2 view .LVU563 1910 0018 3423 movs r3, #52 1911 001a 0122 movs r2, #1 1912 .LVL135: 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1913 .loc 1 1486 5 is_stmt 0 discriminator 2 view .LVU564 1914 001c C254 strb r2, [r0, r3] 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1915 .loc 1 1486 5 is_stmt 1 discriminator 2 view .LVU565 1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1916 .loc 1 1491 5 view .LVU566 1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1917 .loc 1 1491 19 is_stmt 0 view .LVU567 ARM GAS /tmp/cc2rPMmj.s page 85 1918 001e 437E ldrb r3, [r0, #25] 1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1919 .loc 1 1491 8 view .LVU568 1920 0020 012B cmp r3, #1 1921 0022 04D0 beq .L151 1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1922 .loc 1 1493 7 is_stmt 1 view .LVU569 1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1923 .loc 1 1493 24 is_stmt 0 view .LVU570 1924 0024 FFF7FEFF bl ADC_Enable 1925 .LVL136: 1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 1926 .loc 1 1493 24 view .LVU571 1927 0028 071E subs r7, r0, #0 1928 .LVL137: 1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1929 .loc 1 1497 5 is_stmt 1 view .LVU572 1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 1930 .loc 1 1497 8 is_stmt 0 view .LVU573 1931 002a 2ED1 bne .L147 1932 002c 00E0 b .L148 1933 .LVL138: 1934 .L151: 1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1935 .loc 1 1477 21 view .LVU574 1936 002e 0027 movs r7, #0 1937 .LVL139: 1938 .L148: 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A 1939 .loc 1 1502 7 is_stmt 1 view .LVU575 1940 0030 A26B ldr r2, [r4, #56] 1941 0032 194B ldr r3, .L152 1942 0034 1A40 ands r2, r3 1943 0036 8023 movs r3, #128 1944 0038 5B00 lsls r3, r3, #1 1945 003a 1343 orrs r3, r2 1946 003c A363 str r3, [r4, #56] 1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1947 .loc 1 1507 7 view .LVU576 1948 003e 0023 movs r3, #0 1949 0040 E363 str r3, [r4, #60] 1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1950 .loc 1 1512 7 view .LVU577 1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1951 .loc 1 1512 7 view .LVU578 1952 0042 3422 movs r2, #52 1953 0044 A354 strb r3, [r4, r2] 1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1954 .loc 1 1512 7 view .LVU579 1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1955 .loc 1 1515 7 view .LVU580 1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1956 .loc 1 1515 11 is_stmt 0 view .LVU581 1957 0046 236B ldr r3, [r4, #48] 1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1958 .loc 1 1515 42 view .LVU582 1959 0048 144A ldr r2, .L152+4 ARM GAS /tmp/cc2rPMmj.s page 86 1960 004a 9A62 str r2, [r3, #40] 1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1961 .loc 1 1518 7 is_stmt 1 view .LVU583 1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1962 .loc 1 1518 11 is_stmt 0 view .LVU584 1963 004c 236B ldr r3, [r4, #48] 1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1964 .loc 1 1518 46 view .LVU585 1965 004e 144A ldr r2, .L152+8 1966 0050 DA62 str r2, [r3, #44] 1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1967 .loc 1 1521 7 is_stmt 1 view .LVU586 1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1968 .loc 1 1521 11 is_stmt 0 view .LVU587 1969 0052 236B ldr r3, [r4, #48] 1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1970 .loc 1 1521 43 view .LVU588 1971 0054 134A ldr r2, .L152+12 1972 0056 1A63 str r2, [r3, #48] 1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1973 .loc 1 1530 7 is_stmt 1 view .LVU589 1974 0058 2368 ldr r3, [r4] 1975 005a 1C22 movs r2, #28 1976 005c 1A60 str r2, [r3] 1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1977 .loc 1 1533 7 view .LVU590 1978 005e 2268 ldr r2, [r4] 1979 0060 5368 ldr r3, [r2, #4] 1980 0062 1021 movs r1, #16 1981 0064 0B43 orrs r3, r1 1982 0066 5360 str r3, [r2, #4] 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1983 .loc 1 1536 7 view .LVU591 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1984 .loc 1 1536 11 is_stmt 0 view .LVU592 1985 0068 2268 ldr r2, [r4] 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1986 .loc 1 1536 21 view .LVU593 1987 006a D368 ldr r3, [r2, #12] 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1988 .loc 1 1536 29 view .LVU594 1989 006c 0F39 subs r1, r1, #15 1990 006e 0B43 orrs r3, r1 1991 0070 D360 str r3, [r2, #12] 1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1992 .loc 1 1539 7 is_stmt 1 view .LVU595 1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1993 .loc 1 1539 57 is_stmt 0 view .LVU596 1994 0072 2168 ldr r1, [r4] 1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1995 .loc 1 1539 52 view .LVU597 1996 0074 4031 adds r1, r1, #64 1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 1997 .loc 1 1539 7 view .LVU598 1998 0076 206B ldr r0, [r4, #48] 1999 0078 3300 movs r3, r6 2000 007a 2A00 movs r2, r5 ARM GAS /tmp/cc2rPMmj.s page 87 2001 007c FFF7FEFF bl HAL_DMA_Start_IT 2002 .LVL140: 1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2003 .loc 1 1545 7 is_stmt 1 view .LVU599 1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2004 .loc 1 1545 11 is_stmt 0 view .LVU600 2005 0080 2268 ldr r2, [r4] 1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2006 .loc 1 1545 21 view .LVU601 2007 0082 9368 ldr r3, [r2, #8] 1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2008 .loc 1 1545 26 view .LVU602 2009 0084 0421 movs r1, #4 2010 0086 0B43 orrs r3, r1 2011 0088 9360 str r3, [r2, #8] 2012 .L147: 1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2013 .loc 1 1555 1 view .LVU603 2014 008a 3800 movs r0, r7 2015 @ sp needed 2016 .LVL141: 2017 .LVL142: 2018 .LVL143: 1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2019 .loc 1 1555 1 view .LVU604 2020 008c F8BD pop {r3, r4, r5, r6, r7, pc} 2021 .LVL144: 2022 .L149: 1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2023 .loc 1 1550 20 view .LVU605 2024 008e 0227 movs r7, #2 2025 0090 FBE7 b .L147 2026 .L150: 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2027 .loc 1 1486 5 discriminator 1 view .LVU606 2028 0092 0227 movs r7, #2 2029 0094 F9E7 b .L147 2030 .L153: 2031 0096 C046 .align 2 2032 .L152: 2033 0098 FEF0FFFF .word -3842 2034 009c 00000000 .word ADC_DMAConvCplt 2035 00a0 00000000 .word ADC_DMAHalfConvCplt 2036 00a4 00000000 .word ADC_DMAError 2037 .cfi_endproc 2038 .LFE50: 2040 .section .text.HAL_ADC_Stop_DMA,"ax",%progbits 2041 .align 1 2042 .global HAL_ADC_Stop_DMA 2043 .syntax unified 2044 .code 16 2045 .thumb_func 2047 HAL_ADC_Stop_DMA: 2048 .LVL145: 2049 .LFB51: 1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 2050 .loc 1 1565 1 is_stmt 1 view -0 ARM GAS /tmp/cc2rPMmj.s page 88 2051 .cfi_startproc 2052 @ args = 0, pretend = 0, frame = 0 2053 @ frame_needed = 0, uses_anonymous_args = 0 1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 2054 .loc 1 1565 1 is_stmt 0 view .LVU608 2055 0000 70B5 push {r4, r5, r6, lr} 2056 .cfi_def_cfa_offset 16 2057 .cfi_offset 4, -16 2058 .cfi_offset 5, -12 2059 .cfi_offset 6, -8 2060 .cfi_offset 14, -4 2061 0002 0400 movs r4, r0 1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2062 .loc 1 1566 3 is_stmt 1 view .LVU609 2063 .LVL146: 1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2064 .loc 1 1569 3 view .LVU610 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2065 .loc 1 1572 3 view .LVU611 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2066 .loc 1 1572 3 view .LVU612 2067 0004 3423 movs r3, #52 2068 0006 C35C ldrb r3, [r0, r3] 2069 0008 012B cmp r3, #1 2070 000a 36D0 beq .L160 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2071 .loc 1 1572 3 discriminator 2 view .LVU613 2072 000c 3423 movs r3, #52 2073 000e 0122 movs r2, #1 2074 0010 C254 strb r2, [r0, r3] 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2075 .loc 1 1572 3 discriminator 2 view .LVU614 1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2076 .loc 1 1575 3 view .LVU615 1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2077 .loc 1 1575 20 is_stmt 0 view .LVU616 2078 0012 FFF7FEFF bl ADC_ConversionStop 2079 .LVL147: 1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2080 .loc 1 1575 20 view .LVU617 2081 0016 051E subs r5, r0, #0 2082 .LVL148: 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2083 .loc 1 1578 3 is_stmt 1 view .LVU618 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2084 .loc 1 1578 6 is_stmt 0 view .LVU619 2085 0018 1DD1 bne .L156 1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2086 .loc 1 1581 5 is_stmt 1 view .LVU620 1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2087 .loc 1 1581 9 is_stmt 0 view .LVU621 2088 001a 2268 ldr r2, [r4] 1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2089 .loc 1 1581 19 view .LVU622 2090 001c D368 ldr r3, [r2, #12] 1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2091 .loc 1 1581 27 view .LVU623 ARM GAS /tmp/cc2rPMmj.s page 89 2092 001e 0121 movs r1, #1 2093 0020 8B43 bics r3, r1 2094 0022 D360 str r3, [r2, #12] 1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2095 .loc 1 1585 5 is_stmt 1 view .LVU624 1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2096 .loc 1 1585 13 is_stmt 0 view .LVU625 2097 0024 206B ldr r0, [r4, #48] 2098 .LVL149: 1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2099 .loc 1 1585 25 view .LVU626 2100 0026 2123 movs r3, #33 2101 0028 C35C ldrb r3, [r0, r3] 1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2102 .loc 1 1585 8 view .LVU627 2103 002a 022B cmp r3, #2 2104 002c 18D0 beq .L161 2105 .LVL150: 2106 .L157: 1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2107 .loc 1 1598 5 is_stmt 1 view .LVU628 2108 002e 2268 ldr r2, [r4] 2109 0030 5368 ldr r3, [r2, #4] 2110 0032 1021 movs r1, #16 2111 0034 8B43 bics r3, r1 2112 0036 5360 str r3, [r2, #4] 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2113 .loc 1 1603 5 view .LVU629 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2114 .loc 1 1603 8 is_stmt 0 view .LVU630 2115 0038 002D cmp r5, #0 2116 003a 1AD1 bne .L158 1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2117 .loc 1 1605 7 is_stmt 1 view .LVU631 1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2118 .loc 1 1605 24 is_stmt 0 view .LVU632 2119 003c 2000 movs r0, r4 2120 003e FFF7FEFF bl ADC_Disable 2121 .LVL151: 2122 0042 0500 movs r5, r0 2123 .LVL152: 2124 .L159: 1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2125 .loc 1 1613 5 is_stmt 1 view .LVU633 1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2126 .loc 1 1613 8 is_stmt 0 view .LVU634 2127 0044 002D cmp r5, #0 2128 0046 06D1 bne .L156 1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 2129 .loc 1 1616 7 is_stmt 1 view .LVU635 2130 0048 A36B ldr r3, [r4, #56] 2131 004a 0D4A ldr r2, .L162 2132 004c 1340 ands r3, r2 2133 004e 0432 adds r2, r2, #4 2134 0050 FF32 adds r2, r2, #255 2135 0052 1343 orrs r3, r2 2136 0054 A363 str r3, [r4, #56] ARM GAS /tmp/cc2rPMmj.s page 90 2137 .LVL153: 2138 .L156: 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2139 .loc 1 1624 3 view .LVU636 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2140 .loc 1 1624 3 view .LVU637 2141 0056 3423 movs r3, #52 2142 0058 0022 movs r2, #0 2143 005a E254 strb r2, [r4, r3] 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2144 .loc 1 1624 3 view .LVU638 1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2145 .loc 1 1627 3 view .LVU639 2146 .LVL154: 2147 .L155: 1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2148 .loc 1 1628 1 is_stmt 0 view .LVU640 2149 005c 2800 movs r0, r5 2150 @ sp needed 2151 .LVL155: 1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2152 .loc 1 1628 1 view .LVU641 2153 005e 70BD pop {r4, r5, r6, pc} 2154 .LVL156: 2155 .L161: 1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2156 .loc 1 1587 7 is_stmt 1 view .LVU642 1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2157 .loc 1 1587 24 is_stmt 0 view .LVU643 2158 0060 FFF7FEFF bl HAL_DMA_Abort 2159 .LVL157: 2160 0064 051E subs r5, r0, #0 2161 .LVL158: 1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2162 .loc 1 1590 7 is_stmt 1 view .LVU644 1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2163 .loc 1 1590 10 is_stmt 0 view .LVU645 2164 0066 E2D0 beq .L157 1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2165 .loc 1 1593 9 is_stmt 1 view .LVU646 2166 0068 A36B ldr r3, [r4, #56] 2167 006a 4022 movs r2, #64 2168 006c 1343 orrs r3, r2 2169 006e A363 str r3, [r4, #56] 2170 0070 DDE7 b .L157 2171 .LVL159: 2172 .L158: 1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2173 .loc 1 1609 7 view .LVU647 2174 0072 2000 movs r0, r4 2175 0074 FFF7FEFF bl ADC_Disable 2176 .LVL160: 2177 0078 E4E7 b .L159 2178 .LVL161: 2179 .L160: 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2180 .loc 1 1572 3 is_stmt 0 discriminator 1 view .LVU648 ARM GAS /tmp/cc2rPMmj.s page 91 2181 007a 0225 movs r5, #2 2182 007c EEE7 b .L155 2183 .L163: 2184 007e C046 .align 2 2185 .L162: 2186 0080 FEFEFFFF .word -258 2187 .cfi_endproc 2188 .LFE51: 2190 .section .text.HAL_ADC_GetValue,"ax",%progbits 2191 .align 1 2192 .global HAL_ADC_GetValue 2193 .syntax unified 2194 .code 16 2195 .thumb_func 2197 HAL_ADC_GetValue: 2198 .LVL162: 2199 .LFB52: 1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 2200 .loc 1 1650 1 is_stmt 1 view -0 2201 .cfi_startproc 2202 @ args = 0, pretend = 0, frame = 0 2203 @ frame_needed = 0, uses_anonymous_args = 0 2204 @ link register save eliminated. 1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2205 .loc 1 1652 3 view .LVU650 1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2206 .loc 1 1658 3 view .LVU651 1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2207 .loc 1 1658 14 is_stmt 0 view .LVU652 2208 0000 0368 ldr r3, [r0] 1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2209 .loc 1 1658 24 view .LVU653 2210 0002 186C ldr r0, [r3, #64] 2211 .LVL163: 1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2212 .loc 1 1659 1 view .LVU654 2213 @ sp needed 2214 0004 7047 bx lr 2215 .cfi_endproc 2216 .LFE52: 2218 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits 2219 .align 1 2220 .weak HAL_ADC_ConvCpltCallback 2221 .syntax unified 2222 .code 16 2223 .thumb_func 2225 HAL_ADC_ConvCpltCallback: 2226 .LVL164: 2227 .LFB54: 1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 2228 .loc 1 1795 1 is_stmt 1 view -0 2229 .cfi_startproc 2230 @ args = 0, pretend = 0, frame = 0 2231 @ frame_needed = 0, uses_anonymous_args = 0 2232 @ link register save eliminated. 1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2233 .loc 1 1797 3 view .LVU656 ARM GAS /tmp/cc2rPMmj.s page 92 1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2234 .loc 1 1802 1 is_stmt 0 view .LVU657 2235 @ sp needed 2236 0000 7047 bx lr 2237 .cfi_endproc 2238 .LFE54: 2240 .section .text.ADC_DMAConvCplt,"ax",%progbits 2241 .align 1 2242 .syntax unified 2243 .code 16 2244 .thumb_func 2246 ADC_DMAConvCplt: 2247 .LVL165: 2248 .LFB65: 2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA transfer complete callback. 2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle. 2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma) 2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2249 .loc 1 2377 1 is_stmt 1 view -0 2250 .cfi_startproc 2251 @ args = 0, pretend = 0, frame = 0 2252 @ frame_needed = 0, uses_anonymous_args = 0 2253 .loc 1 2377 1 is_stmt 0 view .LVU659 2254 0000 10B5 push {r4, lr} 2255 .cfi_def_cfa_offset 8 2256 .cfi_offset 4, -8 2257 .cfi_offset 14, -4 2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 2258 .loc 1 2379 3 is_stmt 1 view .LVU660 2259 .loc 1 2379 22 is_stmt 0 view .LVU661 2260 0002 436A ldr r3, [r0, #36] 2261 .LVL166: 2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) 2262 .loc 1 2382 3 is_stmt 1 view .LVU662 2263 .loc 1 2382 7 is_stmt 0 view .LVU663 2264 0004 9A6B ldr r2, [r3, #56] 2265 0006 5021 movs r1, #80 2266 .loc 1 2382 6 view .LVU664 2267 0008 1142 tst r1, r2 2268 000a 2BD1 bne .L167 2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 2269 .loc 1 2385 5 is_stmt 1 view .LVU665 2270 000c 996B ldr r1, [r3, #56] 2271 000e 8022 movs r2, #128 2272 0010 9200 lsls r2, r2, #2 2273 0012 0A43 orrs r2, r1 2274 0014 9A63 str r2, [r3, #56] ARM GAS /tmp/cc2rPMmj.s page 93 2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 2275 .loc 1 2389 5 view .LVU666 2276 .loc 1 2389 8 is_stmt 0 view .LVU667 2277 0016 1A68 ldr r2, [r3] 2278 0018 D068 ldr r0, [r2, #12] 2279 .LVL167: 2280 .loc 1 2389 8 view .LVU668 2281 001a C021 movs r1, #192 2282 001c 0901 lsls r1, r1, #4 2283 .loc 1 2389 7 view .LVU669 2284 001e 0842 tst r0, r1 2285 0020 13D1 bne .L168 2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 2286 .loc 1 2390 19 view .LVU670 2287 0022 997E ldrb r1, [r3, #26] 2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 2288 .loc 1 2389 51 discriminator 1 view .LVU671 2289 0024 0029 cmp r1, #0 2290 0026 10D1 bne .L168 2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */ 2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) ) 2291 .loc 1 2393 7 is_stmt 1 view .LVU672 2292 .loc 1 2393 11 is_stmt 0 view .LVU673 2293 0028 1168 ldr r1, [r2] 2294 .loc 1 2393 9 view .LVU674 2295 002a 0907 lsls r1, r1, #28 2296 002c 0DD5 bpl .L168 2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */ 2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */ 2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) 2297 .loc 1 2397 9 is_stmt 1 view .LVU675 2298 .loc 1 2397 13 is_stmt 0 view .LVU676 2299 002e 9168 ldr r1, [r2, #8] 2300 .loc 1 2397 12 view .LVU677 2301 0030 4907 lsls r1, r1, #29 2302 0032 0ED4 bmi .L169 2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */ 2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */ 2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */ 2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); 2303 .loc 1 2403 11 is_stmt 1 view .LVU678 2304 0034 5168 ldr r1, [r2, #4] 2305 0036 0C20 movs r0, #12 2306 0038 8143 bics r1, r0 2307 003a 5160 str r1, [r2, #4] 2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 2308 .loc 1 2406 11 view .LVU679 2309 003c 9A6B ldr r2, [r3, #56] ARM GAS /tmp/cc2rPMmj.s page 94 2310 003e 0B49 ldr r1, .L172 2311 0040 0A40 ands r2, r1 2312 0042 0431 adds r1, r1, #4 2313 0044 FF31 adds r1, r1, #255 2314 0046 0A43 orrs r2, r1 2315 0048 9A63 str r2, [r3, #56] 2316 .L168: 2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY); 2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */ 2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Conversion complete callback */ 2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback(hadc); 2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc); 2317 .loc 1 2425 5 view .LVU680 2318 004a 1800 movs r0, r3 2319 004c FFF7FEFF bl HAL_ADC_ConvCpltCallback 2320 .LVL168: 2321 .L166: 2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else 2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Call DMA error callback */ 2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback(hdma); 2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2322 .loc 1 2434 1 is_stmt 0 view .LVU681 2323 @ sp needed 2324 0050 10BD pop {r4, pc} 2325 .LVL169: 2326 .L169: 2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2327 .loc 1 2413 11 is_stmt 1 view .LVU682 2328 0052 9A6B ldr r2, [r3, #56] 2329 0054 2021 movs r1, #32 2330 0056 0A43 orrs r2, r1 2331 0058 9A63 str r2, [r3, #56] 2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2332 .loc 1 2416 11 view .LVU683 2333 005a DA6B ldr r2, [r3, #60] 2334 005c 1F39 subs r1, r1, #31 2335 005e 0A43 orrs r2, r1 2336 0060 DA63 str r2, [r3, #60] ARM GAS /tmp/cc2rPMmj.s page 95 2337 0062 F2E7 b .L168 2338 .LVL170: 2339 .L167: 2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2340 .loc 1 2431 5 view .LVU684 2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2341 .loc 1 2431 9 is_stmt 0 view .LVU685 2342 0064 1B6B ldr r3, [r3, #48] 2343 .LVL171: 2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2344 .loc 1 2431 21 view .LVU686 2345 0066 1B6B ldr r3, [r3, #48] 2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2346 .loc 1 2431 5 view .LVU687 2347 0068 9847 blx r3 2348 .LVL172: 2349 .loc 1 2434 1 view .LVU688 2350 006a F1E7 b .L166 2351 .L173: 2352 .align 2 2353 .L172: 2354 006c FEFEFFFF .word -258 2355 .cfi_endproc 2356 .LFE65: 2358 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits 2359 .align 1 2360 .weak HAL_ADC_ConvHalfCpltCallback 2361 .syntax unified 2362 .code 16 2363 .thumb_func 2365 HAL_ADC_ConvHalfCpltCallback: 2366 .LVL173: 2367 .LFB55: 1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 2368 .loc 1 1810 1 is_stmt 1 view -0 2369 .cfi_startproc 2370 @ args = 0, pretend = 0, frame = 0 2371 @ frame_needed = 0, uses_anonymous_args = 0 2372 @ link register save eliminated. 1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2373 .loc 1 1812 3 view .LVU690 1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2374 .loc 1 1817 1 is_stmt 0 view .LVU691 2375 @ sp needed 2376 0000 7047 bx lr 2377 .cfi_endproc 2378 .LFE55: 2380 .section .text.ADC_DMAHalfConvCplt,"ax",%progbits 2381 .align 1 2382 .syntax unified 2383 .code 16 2384 .thumb_func 2386 ADC_DMAHalfConvCplt: 2387 .LVL174: 2388 .LFB66: 2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** ARM GAS /tmp/cc2rPMmj.s page 96 2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA half transfer complete callback. 2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle. 2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma) 2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2389 .loc 1 2442 1 is_stmt 1 view -0 2390 .cfi_startproc 2391 @ args = 0, pretend = 0, frame = 0 2392 @ frame_needed = 0, uses_anonymous_args = 0 2393 .loc 1 2442 1 is_stmt 0 view .LVU693 2394 0000 10B5 push {r4, lr} 2395 .cfi_def_cfa_offset 8 2396 .cfi_offset 4, -8 2397 .cfi_offset 14, -4 2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 2398 .loc 1 2444 3 is_stmt 1 view .LVU694 2399 .loc 1 2444 22 is_stmt 0 view .LVU695 2400 0002 406A ldr r0, [r0, #36] 2401 .LVL175: 2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Half conversion callback */ 2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback(hadc); 2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvHalfCpltCallback(hadc); 2402 .loc 1 2450 3 is_stmt 1 view .LVU696 2403 0004 FFF7FEFF bl HAL_ADC_ConvHalfCpltCallback 2404 .LVL176: 2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2405 .loc 1 2452 1 is_stmt 0 view .LVU697 2406 @ sp needed 2407 0008 10BD pop {r4, pc} 2408 .cfi_endproc 2409 .LFE66: 2411 .section .text.HAL_ADC_LevelOutOfWindowCallback,"ax",%progbits 2412 .align 1 2413 .weak HAL_ADC_LevelOutOfWindowCallback 2414 .syntax unified 2415 .code 16 2416 .thumb_func 2418 HAL_ADC_LevelOutOfWindowCallback: 2419 .LVL177: 2420 .LFB56: 1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 2421 .loc 1 1825 1 is_stmt 1 view -0 2422 .cfi_startproc 2423 @ args = 0, pretend = 0, frame = 0 2424 @ frame_needed = 0, uses_anonymous_args = 0 2425 @ link register save eliminated. 1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2426 .loc 1 1827 3 view .LVU699 1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2427 .loc 1 1832 1 is_stmt 0 view .LVU700 2428 @ sp needed ARM GAS /tmp/cc2rPMmj.s page 97 2429 0000 7047 bx lr 2430 .cfi_endproc 2431 .LFE56: 2433 .section .text.HAL_ADC_ErrorCallback,"ax",%progbits 2434 .align 1 2435 .weak HAL_ADC_ErrorCallback 2436 .syntax unified 2437 .code 16 2438 .thumb_func 2440 HAL_ADC_ErrorCallback: 2441 .LVL178: 2442 .LFB57: 1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 2443 .loc 1 1841 1 is_stmt 1 view -0 2444 .cfi_startproc 2445 @ args = 0, pretend = 0, frame = 0 2446 @ frame_needed = 0, uses_anonymous_args = 0 2447 @ link register save eliminated. 1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2448 .loc 1 1843 3 view .LVU702 1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2449 .loc 1 1848 1 is_stmt 0 view .LVU703 2450 @ sp needed 2451 0000 7047 bx lr 2452 .cfi_endproc 2453 .LFE57: 2455 .section .text.ADC_DMAError,"ax",%progbits 2456 .align 1 2457 .syntax unified 2458 .code 16 2459 .thumb_func 2461 ADC_DMAError: 2462 .LVL179: 2463 .LFB67: 2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** 2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA error callback 2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle. 2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None 2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */ 2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma) 2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2464 .loc 1 2460 1 is_stmt 1 view -0 2465 .cfi_startproc 2466 @ args = 0, pretend = 0, frame = 0 2467 @ frame_needed = 0, uses_anonymous_args = 0 2468 .loc 1 2460 1 is_stmt 0 view .LVU705 2469 0000 10B5 push {r4, lr} 2470 .cfi_def_cfa_offset 8 2471 .cfi_offset 4, -8 2472 .cfi_offset 14, -4 2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 2473 .loc 1 2462 3 is_stmt 1 view .LVU706 2474 .loc 1 2462 22 is_stmt 0 view .LVU707 2475 0002 406A ldr r0, [r0, #36] 2476 .LVL180: ARM GAS /tmp/cc2rPMmj.s page 98 2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */ 2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 2477 .loc 1 2465 3 is_stmt 1 view .LVU708 2478 0004 836B ldr r3, [r0, #56] 2479 0006 4022 movs r2, #64 2480 0008 1343 orrs r3, r2 2481 000a 8363 str r3, [r0, #56] 2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to DMA error */ 2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); 2482 .loc 1 2468 3 view .LVU709 2483 000c C36B ldr r3, [r0, #60] 2484 000e 3C3A subs r2, r2, #60 2485 0010 1343 orrs r3, r2 2486 0012 C363 str r3, [r0, #60] 2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Error callback */ 2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback(hadc); 2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else 2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 2487 .loc 1 2474 3 view .LVU710 2488 0014 FFF7FEFF bl HAL_ADC_ErrorCallback 2489 .LVL181: 2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2490 .loc 1 2476 1 is_stmt 0 view .LVU711 2491 @ sp needed 2492 0018 10BD pop {r4, pc} 2493 .cfi_endproc 2494 .LFE67: 2496 .section .text.HAL_ADC_IRQHandler,"ax",%progbits 2497 .align 1 2498 .global HAL_ADC_IRQHandler 2499 .syntax unified 2500 .code 16 2501 .thumb_func 2503 HAL_ADC_IRQHandler: 2504 .LVL182: 2505 .LFB53: 1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_isr = hadc->Instance->ISR; 2506 .loc 1 1667 1 is_stmt 1 view -0 2507 .cfi_startproc 2508 @ args = 0, pretend = 0, frame = 0 2509 @ frame_needed = 0, uses_anonymous_args = 0 1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_isr = hadc->Instance->ISR; 2510 .loc 1 1667 1 is_stmt 0 view .LVU713 2511 0000 70B5 push {r4, r5, r6, lr} 2512 .cfi_def_cfa_offset 16 2513 .cfi_offset 4, -16 2514 .cfi_offset 5, -12 2515 .cfi_offset 6, -8 2516 .cfi_offset 14, -4 2517 0002 0400 movs r4, r0 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_ier = hadc->Instance->IER; 2518 .loc 1 1668 3 is_stmt 1 view .LVU714 ARM GAS /tmp/cc2rPMmj.s page 99 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_ier = hadc->Instance->IER; 2519 .loc 1 1668 26 is_stmt 0 view .LVU715 2520 0004 0368 ldr r3, [r0] 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_ier = hadc->Instance->IER; 2521 .loc 1 1668 12 view .LVU716 2522 0006 1D68 ldr r5, [r3] 2523 .LVL183: 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2524 .loc 1 1669 3 is_stmt 1 view .LVU717 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2525 .loc 1 1669 12 is_stmt 0 view .LVU718 2526 0008 5E68 ldr r6, [r3, #4] 2527 .LVL184: 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 2528 .loc 1 1672 3 is_stmt 1 view .LVU719 1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); 2529 .loc 1 1673 3 view .LVU720 1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2530 .loc 1 1674 3 view .LVU721 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)) ) 2531 .loc 1 1677 3 view .LVU722 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)) ) 2532 .loc 1 1677 5 is_stmt 0 view .LVU723 2533 000a 6A07 lsls r2, r5, #29 2534 000c 01D5 bpl .L180 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)) ) 2535 .loc 1 1677 51 discriminator 1 view .LVU724 2536 000e 7207 lsls r2, r6, #29 2537 0010 03D4 bmi .L181 2538 .L180: 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)) ) 2539 .loc 1 1677 94 discriminator 3 view .LVU725 2540 0012 2A07 lsls r2, r5, #28 2541 0014 27D5 bpl .L182 1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2542 .loc 1 1678 51 view .LVU726 2543 0016 3207 lsls r2, r6, #28 2544 0018 25D5 bpl .L182 2545 .L181: 1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2546 .loc 1 1681 5 is_stmt 1 view .LVU727 1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2547 .loc 1 1681 9 is_stmt 0 view .LVU728 2548 001a A26B ldr r2, [r4, #56] 1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2549 .loc 1 1681 8 view .LVU729 2550 001c D206 lsls r2, r2, #27 2551 001e 04D4 bmi .L183 1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2552 .loc 1 1684 7 is_stmt 1 view .LVU730 2553 0020 A16B ldr r1, [r4, #56] 2554 0022 8022 movs r2, #128 2555 0024 9200 lsls r2, r2, #2 2556 0026 0A43 orrs r2, r1 2557 0028 A263 str r2, [r4, #56] 2558 .L183: 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) ARM GAS /tmp/cc2rPMmj.s page 100 2559 .loc 1 1689 5 view .LVU731 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 2560 .loc 1 1689 8 is_stmt 0 view .LVU732 2561 002a D968 ldr r1, [r3, #12] 2562 002c C022 movs r2, #192 2563 002e 1201 lsls r2, r2, #4 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 2564 .loc 1 1689 7 view .LVU733 2565 0030 1142 tst r1, r2 2566 0032 12D1 bne .L184 1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2567 .loc 1 1690 19 view .LVU734 2568 0034 A27E ldrb r2, [r4, #26] 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) 2569 .loc 1 1689 51 discriminator 1 view .LVU735 2570 0036 002A cmp r2, #0 2571 0038 0FD1 bne .L184 1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2572 .loc 1 1693 7 is_stmt 1 view .LVU736 1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2573 .loc 1 1693 9 is_stmt 0 view .LVU737 2574 003a 2A07 lsls r2, r5, #28 2575 003c 0DD5 bpl .L184 1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2576 .loc 1 1697 9 is_stmt 1 view .LVU738 1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2577 .loc 1 1697 13 is_stmt 0 view .LVU739 2578 003e 9A68 ldr r2, [r3, #8] 1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2579 .loc 1 1697 12 view .LVU740 2580 0040 5207 lsls r2, r2, #29 2581 0042 2DD4 bmi .L185 1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2582 .loc 1 1703 11 is_stmt 1 view .LVU741 2583 0044 5A68 ldr r2, [r3, #4] 2584 0046 0C21 movs r1, #12 2585 0048 8A43 bics r2, r1 2586 004a 5A60 str r2, [r3, #4] 1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY, 2587 .loc 1 1706 11 view .LVU742 2588 004c A36B ldr r3, [r4, #56] 2589 004e 1F4A ldr r2, .L202 2590 0050 1340 ands r3, r2 2591 0052 0432 adds r2, r2, #4 2592 0054 FF32 adds r2, r2, #255 2593 0056 1343 orrs r3, r2 2594 0058 A363 str r3, [r4, #56] 2595 .L184: 1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2596 .loc 1 1727 5 view .LVU743 2597 005a 2000 movs r0, r4 2598 .LVL185: 1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2599 .loc 1 1727 5 is_stmt 0 view .LVU744 2600 005c FFF7FEFF bl HAL_ADC_ConvCpltCallback 2601 .LVL186: 1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } ARM GAS /tmp/cc2rPMmj.s page 101 2602 .loc 1 1736 5 is_stmt 1 view .LVU745 2603 0060 2368 ldr r3, [r4] 2604 0062 0C22 movs r2, #12 2605 0064 1A60 str r2, [r3] 2606 .L182: 1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2607 .loc 1 1740 3 view .LVU746 1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2608 .loc 1 1740 5 is_stmt 0 view .LVU747 2609 0066 2B06 lsls r3, r5, #24 2610 0068 01D5 bpl .L186 1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2611 .loc 1 1740 49 discriminator 1 view .LVU748 2612 006a 3306 lsls r3, r6, #24 2613 006c 21D4 bmi .L201 2614 .L186: 1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2615 .loc 1 1758 3 is_stmt 1 view .LVU749 1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2616 .loc 1 1758 5 is_stmt 0 view .LVU750 2617 006e ED06 lsls r5, r5, #27 2618 0070 15D5 bpl .L179 2619 .LVL187: 1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2620 .loc 1 1758 49 discriminator 1 view .LVU751 2621 0072 F606 lsls r6, r6, #27 2622 0074 13D5 bpl .L179 2623 .LVL188: 1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) ) 2624 .loc 1 1766 5 is_stmt 1 view .LVU752 1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) ) 2625 .loc 1 1766 20 is_stmt 0 view .LVU753 2626 0076 A36A ldr r3, [r4, #40] 1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) ) 2627 .loc 1 1766 8 view .LVU754 2628 0078 012B cmp r3, #1 2629 007a 03D0 beq .L188 1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2630 .loc 1 1767 9 view .LVU755 2631 007c 2368 ldr r3, [r4] 2632 007e DB68 ldr r3, [r3, #12] 1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) ) 2633 .loc 1 1766 67 discriminator 1 view .LVU756 2634 0080 DB07 lsls r3, r3, #31 2635 0082 09D5 bpl .L189 2636 .L188: 1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2637 .loc 1 1770 7 is_stmt 1 view .LVU757 2638 0084 E36B ldr r3, [r4, #60] 2639 0086 0222 movs r2, #2 2640 0088 1343 orrs r3, r2 2641 008a E363 str r3, [r4, #60] 1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2642 .loc 1 1773 7 view .LVU758 2643 008c 2368 ldr r3, [r4] 2644 008e 0E32 adds r2, r2, #14 2645 0090 1A60 str r2, [r3] ARM GAS /tmp/cc2rPMmj.s page 102 1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2646 .loc 1 1778 7 view .LVU759 2647 0092 2000 movs r0, r4 2648 0094 FFF7FEFF bl HAL_ADC_ErrorCallback 2649 .LVL189: 2650 .L189: 1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2651 .loc 1 1783 5 view .LVU760 2652 0098 2368 ldr r3, [r4] 2653 009a 1022 movs r2, #16 2654 009c 1A60 str r2, [r3] 2655 .L179: 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2656 .loc 1 1786 1 is_stmt 0 view .LVU761 2657 @ sp needed 2658 .LVL190: 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2659 .loc 1 1786 1 view .LVU762 2660 009e 70BD pop {r4, r5, r6, pc} 2661 .LVL191: 2662 .L185: 1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2663 .loc 1 1713 11 is_stmt 1 view .LVU763 2664 00a0 A36B ldr r3, [r4, #56] 2665 00a2 2022 movs r2, #32 2666 00a4 1343 orrs r3, r2 2667 00a6 A363 str r3, [r4, #56] 1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2668 .loc 1 1716 11 view .LVU764 2669 00a8 E36B ldr r3, [r4, #60] 2670 00aa 1F3A subs r2, r2, #31 2671 00ac 1343 orrs r3, r2 2672 00ae E363 str r3, [r4, #60] 2673 00b0 D3E7 b .L184 2674 .LVL192: 2675 .L201: 1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2676 .loc 1 1743 7 view .LVU765 2677 00b2 A26B ldr r2, [r4, #56] 2678 00b4 8023 movs r3, #128 2679 00b6 5B02 lsls r3, r3, #9 2680 00b8 1343 orrs r3, r2 2681 00ba A363 str r3, [r4, #56] 1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2682 .loc 1 1748 5 view .LVU766 2683 00bc 2000 movs r0, r4 2684 00be FFF7FEFF bl HAL_ADC_LevelOutOfWindowCallback 2685 .LVL193: 1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2686 .loc 1 1752 5 view .LVU767 2687 00c2 2368 ldr r3, [r4] 2688 00c4 8022 movs r2, #128 2689 00c6 1A60 str r2, [r3] 2690 00c8 D1E7 b .L186 2691 .L203: 2692 00ca C046 .align 2 2693 .L202: ARM GAS /tmp/cc2rPMmj.s page 103 2694 00cc FEFEFFFF .word -258 2695 .cfi_endproc 2696 .LFE53: 2698 .section .text.HAL_ADC_ConfigChannel,"ax",%progbits 2699 .align 1 2700 .global HAL_ADC_ConfigChannel 2701 .syntax unified 2702 .code 16 2703 .thumb_func 2705 HAL_ADC_ConfigChannel: 2706 .LVL194: 2707 .LFB58: 1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 2708 .loc 1 1895 1 view -0 2709 .cfi_startproc 2710 @ args = 0, pretend = 0, frame = 8 2711 @ frame_needed = 0, uses_anonymous_args = 0 1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 2712 .loc 1 1895 1 is_stmt 0 view .LVU769 2713 0000 30B5 push {r4, r5, lr} 2714 .cfi_def_cfa_offset 12 2715 .cfi_offset 4, -12 2716 .cfi_offset 5, -8 2717 .cfi_offset 14, -4 2718 0002 83B0 sub sp, sp, #12 2719 .cfi_def_cfa_offset 24 2720 0004 0400 movs r4, r0 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2721 .loc 1 1896 3 is_stmt 1 view .LVU770 2722 .LVL195: 1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2723 .loc 1 1897 3 view .LVU771 1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2724 .loc 1 1897 17 is_stmt 0 view .LVU772 2725 0006 0023 movs r3, #0 2726 0008 0193 str r3, [sp, #4] 1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(sConfig->Channel)); 2727 .loc 1 1900 3 is_stmt 1 view .LVU773 1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANK(sConfig->Rank)); 2728 .loc 1 1901 3 view .LVU774 1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2729 .loc 1 1902 3 view .LVU775 1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2730 .loc 1 1904 3 view .LVU776 1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2731 .loc 1 1906 5 view .LVU777 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2732 .loc 1 1910 3 view .LVU778 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2733 .loc 1 1910 3 view .LVU779 2734 000a 3433 adds r3, r3, #52 2735 000c C35C ldrb r3, [r0, r3] 2736 000e 012B cmp r3, #1 2737 0010 00D1 bne .LCB2528 2738 0012 81E0 b .L216 @long jump 2739 .LCB2528: 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 104 2740 .loc 1 1910 3 discriminator 2 view .LVU780 2741 0014 3423 movs r3, #52 2742 0016 0122 movs r2, #1 2743 0018 C254 strb r2, [r0, r3] 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2744 .loc 1 1910 3 discriminator 2 view .LVU781 1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2745 .loc 1 1918 3 view .LVU782 1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2746 .loc 1 1918 7 is_stmt 0 view .LVU783 2747 001a 0268 ldr r2, [r0] 2748 001c 9368 ldr r3, [r2, #8] 1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2749 .loc 1 1918 6 view .LVU784 2750 001e 5B07 lsls r3, r3, #29 2751 0020 6CD4 bmi .L206 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2752 .loc 1 1922 5 is_stmt 1 view .LVU785 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2753 .loc 1 1922 16 is_stmt 0 view .LVU786 2754 0022 4868 ldr r0, [r1, #4] 2755 .LVL196: 1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2756 .loc 1 1922 8 view .LVU787 2757 0024 3D4B ldr r3, .L227 2758 0026 9842 cmp r0, r3 2759 0028 4DD0 beq .L207 1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2760 .loc 1 1926 7 is_stmt 1 view .LVU788 1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2761 .loc 1 1926 21 is_stmt 0 view .LVU789 2762 002a 936A ldr r3, [r2, #40] 1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2763 .loc 1 1926 33 view .LVU790 2764 002c 0D68 ldr r5, [r1] 2765 002e 0120 movs r0, #1 2766 0030 A840 lsls r0, r0, r5 1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2767 .loc 1 1926 30 view .LVU791 2768 0032 0343 orrs r3, r0 2769 0034 9362 str r3, [r2, #40] 1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2770 .loc 1 1933 7 is_stmt 1 view .LVU792 1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2771 .loc 1 1933 13 is_stmt 0 view .LVU793 2772 0036 E36A ldr r3, [r4, #44] 2773 0038 072B cmp r3, #7 2774 003a 27D8 bhi .L208 2775 003c 002B cmp r3, #0 2776 003e 10D1 bne .L209 2777 .L210: 1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2778 .loc 1 1937 9 is_stmt 1 view .LVU794 1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2779 .loc 1 1937 20 is_stmt 0 view .LVU795 2780 0040 8868 ldr r0, [r1, #8] 1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { ARM GAS /tmp/cc2rPMmj.s page 105 2781 .loc 1 1937 38 view .LVU796 2782 0042 2268 ldr r2, [r4] 2783 0044 5569 ldr r5, [r2, #20] 2784 0046 0723 movs r3, #7 2785 0048 2B40 ands r3, r5 1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2786 .loc 1 1937 12 view .LVU797 2787 004a 9842 cmp r0, r3 2788 004c 09D0 beq .L209 1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2789 .loc 1 1941 11 is_stmt 1 view .LVU798 1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2790 .loc 1 1941 25 is_stmt 0 view .LVU799 2791 004e 5069 ldr r0, [r2, #20] 1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2792 .loc 1 1941 32 view .LVU800 2793 0050 0723 movs r3, #7 2794 0052 9843 bics r0, r3 2795 0054 5061 str r0, [r2, #20] 1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2796 .loc 1 1944 11 is_stmt 1 view .LVU801 1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2797 .loc 1 1944 15 is_stmt 0 view .LVU802 2798 0056 2068 ldr r0, [r4] 1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2799 .loc 1 1944 25 view .LVU803 2800 0058 4269 ldr r2, [r0, #20] 1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2801 .loc 1 1944 35 view .LVU804 2802 005a 8D68 ldr r5, [r1, #8] 2803 005c 2B40 ands r3, r5 1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2804 .loc 1 1944 32 view .LVU805 2805 005e 1343 orrs r3, r2 2806 0060 4361 str r3, [r0, #20] 2807 .L209: 1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2808 .loc 1 1954 7 is_stmt 1 view .LVU806 1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2809 .loc 1 1954 10 is_stmt 0 view .LVU807 2810 0062 0B68 ldr r3, [r1] 2811 0064 1A00 movs r2, r3 2812 0066 103A subs r2, r2, #16 1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2813 .loc 1 1954 9 view .LVU808 2814 0068 022A cmp r2, #2 2815 006a 51D8 bhi .L217 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2816 .loc 1 1959 9 is_stmt 1 view .LVU809 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2817 .loc 1 1959 12 is_stmt 0 view .LVU810 2818 006c 2C4A ldr r2, .L227+4 2819 006e 1268 ldr r2, [r2] 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2820 .loc 1 1959 21 view .LVU811 2821 0070 102B cmp r3, #16 2822 0072 13D0 beq .L218 ARM GAS /tmp/cc2rPMmj.s page 106 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2823 .loc 1 1959 21 discriminator 1 view .LVU812 2824 0074 112B cmp r3, #17 2825 0076 0ED0 beq .L224 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2826 .loc 1 1959 21 discriminator 4 view .LVU813 2827 0078 8023 movs r3, #128 2828 007a 5B04 lsls r3, r3, #17 2829 .L212: 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2830 .loc 1 1959 18 discriminator 8 view .LVU814 2831 007c 1343 orrs r3, r2 2832 007e 284A ldr r2, .L227+4 2833 0080 1360 str r3, [r2] 1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2834 .loc 1 1962 9 is_stmt 1 view .LVU815 1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2835 .loc 1 1962 20 is_stmt 0 view .LVU816 2836 0082 0B68 ldr r3, [r1] 1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2837 .loc 1 1962 12 view .LVU817 2838 0084 102B cmp r3, #16 2839 0086 0CD0 beq .L225 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2840 .loc 1 1896 21 view .LVU818 2841 0088 0020 movs r0, #0 2842 008a 3CE0 b .L211 2843 .L208: 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2844 .loc 1 1896 21 view .LVU819 2845 008c 8022 movs r2, #128 2846 008e 5205 lsls r2, r2, #21 2847 0090 9342 cmp r3, r2 2848 0092 E6D0 beq .L209 2849 0094 D4E7 b .L210 2850 .L224: 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2851 .loc 1 1959 21 discriminator 3 view .LVU820 2852 0096 8023 movs r3, #128 2853 0098 DB03 lsls r3, r3, #15 2854 009a EFE7 b .L212 2855 .L218: 1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2856 .loc 1 1959 21 discriminator 2 view .LVU821 2857 009c 8023 movs r3, #128 2858 009e 1B04 lsls r3, r3, #16 2859 00a0 ECE7 b .L212 2860 .L225: 1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 2861 .loc 1 1966 11 is_stmt 1 view .LVU822 1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 2862 .loc 1 1966 73 is_stmt 0 view .LVU823 2863 00a2 204B ldr r3, .L227+8 2864 00a4 1868 ldr r0, [r3] 2865 00a6 2049 ldr r1, .L227+12 2866 .LVL197: 1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) ARM GAS /tmp/cc2rPMmj.s page 107 2867 .loc 1 1966 73 view .LVU824 2868 00a8 FFF7FEFF bl __aeabi_uidiv 2869 .LVL198: 1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 2870 .loc 1 1966 54 view .LVU825 2871 00ac 8300 lsls r3, r0, #2 2872 00ae 1B18 adds r3, r3, r0 2873 00b0 5B00 lsls r3, r3, #1 1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U) 2874 .loc 1 1966 27 view .LVU826 2875 00b2 0193 str r3, [sp, #4] 1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2876 .loc 1 1967 11 is_stmt 1 view .LVU827 1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2877 .loc 1 1967 16 is_stmt 0 view .LVU828 2878 00b4 02E0 b .L213 2879 .L214: 1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2880 .loc 1 1969 13 is_stmt 1 view .LVU829 1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2881 .loc 1 1969 28 is_stmt 0 view .LVU830 2882 00b6 019B ldr r3, [sp, #4] 2883 00b8 013B subs r3, r3, #1 2884 00ba 0193 str r3, [sp, #4] 2885 .L213: 1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2886 .loc 1 1967 33 is_stmt 1 view .LVU831 2887 00bc 019B ldr r3, [sp, #4] 2888 00be 002B cmp r3, #0 2889 00c0 F9D1 bne .L214 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2890 .loc 1 1896 21 is_stmt 0 view .LVU832 2891 00c2 0020 movs r0, #0 2892 00c4 1FE0 b .L211 2893 .LVL199: 2894 .L207: 1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2895 .loc 1 1978 7 is_stmt 1 view .LVU833 1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2896 .loc 1 1978 21 is_stmt 0 view .LVU834 2897 00c6 936A ldr r3, [r2, #40] 1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2898 .loc 1 1978 34 view .LVU835 2899 00c8 0D68 ldr r5, [r1] 2900 00ca 0120 movs r0, #1 2901 00cc A840 lsls r0, r0, r5 1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2902 .loc 1 1978 30 view .LVU836 2903 00ce 8343 bics r3, r0 2904 00d0 9362 str r3, [r2, #40] 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2905 .loc 1 1983 7 is_stmt 1 view .LVU837 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2906 .loc 1 1983 10 is_stmt 0 view .LVU838 2907 00d2 0B68 ldr r3, [r1] 2908 00d4 1A00 movs r2, r3 2909 00d6 103A subs r2, r2, #16 ARM GAS /tmp/cc2rPMmj.s page 108 1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 2910 .loc 1 1983 9 view .LVU839 2911 00d8 022A cmp r2, #2 2912 00da 1BD8 bhi .L221 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2913 .loc 1 1988 9 is_stmt 1 view .LVU840 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2914 .loc 1 1988 12 is_stmt 0 view .LVU841 2915 00dc 104A ldr r2, .L227+4 2916 00de 1268 ldr r2, [r2] 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2917 .loc 1 1988 21 view .LVU842 2918 00e0 102B cmp r3, #16 2919 00e2 09D0 beq .L222 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2920 .loc 1 1988 21 discriminator 1 view .LVU843 2921 00e4 112B cmp r3, #17 2922 00e6 05D0 beq .L226 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2923 .loc 1 1988 21 discriminator 4 view .LVU844 2924 00e8 104B ldr r3, .L227+16 2925 .L215: 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2926 .loc 1 1988 18 discriminator 8 view .LVU845 2927 00ea 1340 ands r3, r2 2928 00ec 0C4A ldr r2, .L227+4 2929 00ee 1360 str r3, [r2] 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2930 .loc 1 1896 21 view .LVU846 2931 00f0 0020 movs r0, #0 2932 00f2 08E0 b .L211 2933 .L226: 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2934 .loc 1 1988 21 discriminator 3 view .LVU847 2935 00f4 0E4B ldr r3, .L227+20 2936 00f6 F8E7 b .L215 2937 .L222: 1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2938 .loc 1 1988 21 discriminator 2 view .LVU848 2939 00f8 0E4B ldr r3, .L227+24 2940 00fa F6E7 b .L215 2941 .LVL200: 2942 .L206: 2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2943 .loc 1 2000 5 is_stmt 1 view .LVU849 2944 00fc 836B ldr r3, [r0, #56] 2945 00fe 2022 movs r2, #32 2946 0100 1343 orrs r3, r2 2947 0102 8363 str r3, [r0, #56] 2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2948 .loc 1 2002 5 view .LVU850 2949 .LVL201: 2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2950 .loc 1 2002 20 is_stmt 0 view .LVU851 2951 0104 0120 movs r0, #1 2952 .LVL202: 2953 .L211: ARM GAS /tmp/cc2rPMmj.s page 109 2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2954 .loc 1 2006 3 is_stmt 1 view .LVU852 2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2955 .loc 1 2006 3 view .LVU853 2956 0106 3423 movs r3, #52 2957 0108 0022 movs r2, #0 2958 010a E254 strb r2, [r4, r3] 2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2959 .loc 1 2006 3 view .LVU854 2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 2960 .loc 1 2009 3 view .LVU855 2961 .LVL203: 2962 .L205: 2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2963 .loc 1 2010 1 is_stmt 0 view .LVU856 2964 010c 03B0 add sp, sp, #12 2965 @ sp needed 2966 .LVL204: 2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2967 .loc 1 2010 1 view .LVU857 2968 010e 30BD pop {r4, r5, pc} 2969 .LVL205: 2970 .L217: 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2971 .loc 1 1896 21 view .LVU858 2972 0110 0020 movs r0, #0 2973 0112 F8E7 b .L211 2974 .L221: 1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U; 2975 .loc 1 1896 21 view .LVU859 2976 0114 0020 movs r0, #0 2977 0116 F6E7 b .L211 2978 .LVL206: 2979 .L216: 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2980 .loc 1 1910 3 discriminator 1 view .LVU860 2981 0118 0220 movs r0, #2 2982 .LVL207: 1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 2983 .loc 1 1910 3 discriminator 1 view .LVU861 2984 011a F7E7 b .L205 2985 .L228: 2986 .align 2 2987 .L227: 2988 011c 01100000 .word 4097 2989 0120 08270140 .word 1073817352 2990 0124 00000000 .word SystemCoreClock 2991 0128 40420F00 .word 1000000 2992 012c FFFFFFFE .word -16777217 2993 0130 FFFFBFFF .word -4194305 2994 0134 FFFF7FFF .word -8388609 2995 .cfi_endproc 2996 .LFE58: 2998 .section .text.HAL_ADC_AnalogWDGConfig,"ax",%progbits 2999 .align 1 3000 .global HAL_ADC_AnalogWDGConfig 3001 .syntax unified ARM GAS /tmp/cc2rPMmj.s page 110 3002 .code 16 3003 .thumb_func 3005 HAL_ADC_AnalogWDGConfig: 3006 .LVL208: 3007 .LFB59: 2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 3008 .loc 1 2028 1 is_stmt 1 view -0 3009 .cfi_startproc 3010 @ args = 0, pretend = 0, frame = 0 3011 @ frame_needed = 0, uses_anonymous_args = 0 2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 3012 .loc 1 2028 1 is_stmt 0 view .LVU863 3013 0000 70B5 push {r4, r5, r6, lr} 3014 .cfi_def_cfa_offset 16 3015 .cfi_offset 4, -16 3016 .cfi_offset 5, -12 3017 .cfi_offset 6, -8 3018 .cfi_offset 14, -4 3019 0002 0300 movs r3, r0 2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3020 .loc 1 2029 3 is_stmt 1 view .LVU864 3021 .LVL209: 2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpAWDLowThresholdShifted; 3022 .loc 1 2031 3 view .LVU865 2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3023 .loc 1 2032 3 view .LVU866 2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ANALOG_WATCHDOG_MODE(AnalogWDGConfig->WatchdogMode)); 3024 .loc 1 2035 3 view .LVU867 2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode)); 3025 .loc 1 2036 3 view .LVU868 2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3026 .loc 1 2037 3 view .LVU869 2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold)); 3027 .loc 1 2040 3 view .LVU870 2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3028 .loc 1 2041 3 view .LVU871 2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 3029 .loc 1 2043 3 view .LVU872 2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3030 .loc 1 2045 5 view .LVU873 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3031 .loc 1 2049 3 view .LVU874 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3032 .loc 1 2049 3 view .LVU875 3033 0004 3422 movs r2, #52 3034 0006 825C ldrb r2, [r0, r2] 3035 0008 012A cmp r2, #1 3036 000a 47D0 beq .L234 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3037 .loc 1 2049 3 discriminator 2 view .LVU876 3038 000c 3422 movs r2, #52 3039 000e 0120 movs r0, #1 3040 .LVL210: 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3041 .loc 1 2049 3 is_stmt 0 discriminator 2 view .LVU877 3042 0010 9854 strb r0, [r3, r2] 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 111 3043 .loc 1 2049 3 is_stmt 1 discriminator 2 view .LVU878 2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 3044 .loc 1 2056 3 view .LVU879 2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 3045 .loc 1 2056 7 is_stmt 0 view .LVU880 3046 0012 1868 ldr r0, [r3] 3047 0014 8268 ldr r2, [r0, #8] 2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 3048 .loc 1 2056 6 view .LVU881 3049 0016 5207 lsls r2, r2, #29 3050 0018 37D4 bmi .L231 2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN | 3051 .loc 1 2063 5 is_stmt 1 view .LVU882 2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN | 3052 .loc 1 2063 19 is_stmt 0 view .LVU883 3053 001a C268 ldr r2, [r0, #12] 2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN | 3054 .loc 1 2063 27 view .LVU884 3055 001c 204C ldr r4, .L236 3056 001e 2240 ands r2, r4 3057 0020 C260 str r2, [r0, #12] 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) ); 3058 .loc 1 2067 5 is_stmt 1 view .LVU885 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) ); 3059 .loc 1 2067 9 is_stmt 0 view .LVU886 3060 0022 1D68 ldr r5, [r3] 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) ); 3061 .loc 1 2067 19 view .LVU887 3062 0024 EA68 ldr r2, [r5, #12] 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) ); 3063 .loc 1 2067 47 view .LVU888 3064 0026 0868 ldr r0, [r1] 2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3065 .loc 1 2068 32 view .LVU889 3066 0028 4C68 ldr r4, [r1, #4] 3067 002a A406 lsls r4, r4, #26 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) ); 3068 .loc 1 2067 73 view .LVU890 3069 002c 2043 orrs r0, r4 2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) ); 3070 .loc 1 2067 27 view .LVU891 3071 002e 0243 orrs r2, r0 3072 0030 EA60 str r2, [r5, #12] 2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres 3073 .loc 1 2072 5 is_stmt 1 view .LVU892 2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres 3074 .loc 1 2072 34 is_stmt 0 view .LVU893 3075 0032 CD68 ldr r5, [r1, #12] 3076 0034 1C68 ldr r4, [r3] 3077 0036 E268 ldr r2, [r4, #12] 3078 0038 D208 lsrs r2, r2, #3 3079 003a 0320 movs r0, #3 3080 003c 0240 ands r2, r0 3081 003e 5200 lsls r2, r2, #1 2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres 3082 .loc 1 2072 32 view .LVU894 3083 0040 9540 lsls r5, r5, r2 ARM GAS /tmp/cc2rPMmj.s page 112 3084 0042 2A00 movs r2, r5 3085 .LVL211: 2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3086 .loc 1 2073 5 is_stmt 1 view .LVU895 2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3087 .loc 1 2073 34 is_stmt 0 view .LVU896 3088 0044 0D69 ldr r5, [r1, #16] 3089 0046 E668 ldr r6, [r4, #12] 3090 0048 F608 lsrs r6, r6, #3 3091 004a 3040 ands r0, r6 3092 004c 4000 lsls r0, r0, #1 2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3093 .loc 1 2073 32 view .LVU897 3094 004e 8540 lsls r5, r5, r0 3095 .LVL212: 2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) | 3096 .loc 1 2076 5 is_stmt 1 view .LVU898 2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) | 3097 .loc 1 2076 19 is_stmt 0 view .LVU899 3098 0050 206A ldr r0, [r4, #32] 2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) | 3099 .loc 1 2076 24 view .LVU900 3100 0052 144E ldr r6, .L236+4 3101 0054 3040 ands r0, r6 3102 0056 2062 str r0, [r4, #32] 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted ); 3103 .loc 1 2077 5 is_stmt 1 view .LVU901 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted ); 3104 .loc 1 2077 9 is_stmt 0 view .LVU902 3105 0058 1C68 ldr r4, [r3] 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted ); 3106 .loc 1 2077 19 view .LVU903 3107 005a 206A ldr r0, [r4, #32] 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted ); 3108 .loc 1 2077 30 view .LVU904 3109 005c 1204 lsls r2, r2, #16 3110 .LVL213: 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted ); 3111 .loc 1 2077 81 view .LVU905 3112 005e 2A43 orrs r2, r5 2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted ); 3113 .loc 1 2077 24 view .LVU906 3114 0060 0243 orrs r2, r0 3115 0062 2262 str r2, [r4, #32] 2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3116 .loc 1 2083 5 is_stmt 1 view .LVU907 3117 0064 1A68 ldr r2, [r3] 3118 0066 8020 movs r0, #128 3119 0068 1060 str r0, [r2] 2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 3120 .loc 1 2086 5 view .LVU908 2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 3121 .loc 1 2086 23 is_stmt 0 view .LVU909 3122 006a 0A7A ldrb r2, [r1, #8] 2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** { 3123 .loc 1 2086 7 view .LVU910 3124 006c 012A cmp r2, #1 ARM GAS /tmp/cc2rPMmj.s page 113 3125 006e 06D0 beq .L235 2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3126 .loc 1 2094 7 is_stmt 1 view .LVU911 3127 0070 1968 ldr r1, [r3] 3128 .LVL214: 2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3129 .loc 1 2094 7 is_stmt 0 view .LVU912 3130 0072 4A68 ldr r2, [r1, #4] 3131 0074 8020 movs r0, #128 3132 0076 8243 bics r2, r0 3133 0078 4A60 str r2, [r1, #4] 2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3134 .loc 1 2029 21 view .LVU913 3135 007a 0020 movs r0, #0 3136 007c 0AE0 b .L233 3137 .LVL215: 3138 .L235: 2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3139 .loc 1 2089 7 is_stmt 1 view .LVU914 3140 007e 1968 ldr r1, [r3] 3141 .LVL216: 2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3142 .loc 1 2089 7 is_stmt 0 view .LVU915 3143 0080 4A68 ldr r2, [r1, #4] 3144 0082 0243 orrs r2, r0 3145 0084 4A60 str r2, [r1, #4] 2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3146 .loc 1 2029 21 view .LVU916 3147 0086 0020 movs r0, #0 3148 0088 04E0 b .L233 3149 .LVL217: 3150 .L231: 2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3151 .loc 1 2103 5 is_stmt 1 view .LVU917 3152 008a 9A6B ldr r2, [r3, #56] 3153 008c 2021 movs r1, #32 3154 .LVL218: 2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3155 .loc 1 2103 5 is_stmt 0 view .LVU918 3156 008e 0A43 orrs r2, r1 3157 0090 9A63 str r2, [r3, #56] 2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3158 .loc 1 2105 5 is_stmt 1 view .LVU919 3159 .LVL219: 2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3160 .loc 1 2105 20 is_stmt 0 view .LVU920 3161 0092 0120 movs r0, #1 3162 .LVL220: 3163 .L233: 2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3164 .loc 1 2110 3 is_stmt 1 view .LVU921 2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3165 .loc 1 2110 3 view .LVU922 3166 0094 3422 movs r2, #52 3167 0096 0021 movs r1, #0 3168 0098 9954 strb r1, [r3, r2] 2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ARM GAS /tmp/cc2rPMmj.s page 114 3169 .loc 1 2110 3 view .LVU923 2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3170 .loc 1 2113 3 view .LVU924 3171 .LVL221: 3172 .L230: 2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3173 .loc 1 2114 1 is_stmt 0 view .LVU925 3174 @ sp needed 3175 009a 70BD pop {r4, r5, r6, pc} 3176 .LVL222: 3177 .L234: 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3178 .loc 1 2049 3 discriminator 1 view .LVU926 3179 009c 0220 movs r0, #2 3180 .LVL223: 2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3181 .loc 1 2049 3 discriminator 1 view .LVU927 3182 009e FCE7 b .L230 3183 .L237: 3184 .align 2 3185 .L236: 3186 00a0 FFFF3F83 .word -2092957697 3187 00a4 00F000F0 .word -268374016 3188 .cfi_endproc 3189 .LFE59: 3191 .section .text.HAL_ADC_GetState,"ax",%progbits 3192 .align 1 3193 .global HAL_ADC_GetState 3194 .syntax unified 3195 .code 16 3196 .thumb_func 3198 HAL_ADC_GetState: 3199 .LVL224: 3200 .LFB60: 2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */ 3201 .loc 1 2150 1 is_stmt 1 view -0 3202 .cfi_startproc 3203 @ args = 0, pretend = 0, frame = 0 3204 @ frame_needed = 0, uses_anonymous_args = 0 3205 @ link register save eliminated. 2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3206 .loc 1 2152 3 view .LVU929 2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3207 .loc 1 2155 3 view .LVU930 2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3208 .loc 1 2155 14 is_stmt 0 view .LVU931 3209 0000 806B ldr r0, [r0, #56] 3210 .LVL225: 2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3211 .loc 1 2156 1 view .LVU932 3212 @ sp needed 3213 0002 7047 bx lr 3214 .cfi_endproc 3215 .LFE60: 3217 .section .text.HAL_ADC_GetError,"ax",%progbits 3218 .align 1 3219 .global HAL_ADC_GetError ARM GAS /tmp/cc2rPMmj.s page 115 3220 .syntax unified 3221 .code 16 3222 .thumb_func 3224 HAL_ADC_GetError: 3225 .LVL226: 3226 .LFB61: 2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->ErrorCode; 3227 .loc 1 2164 1 is_stmt 1 view -0 3228 .cfi_startproc 3229 @ args = 0, pretend = 0, frame = 0 3230 @ frame_needed = 0, uses_anonymous_args = 0 3231 @ link register save eliminated. 2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3232 .loc 1 2165 3 view .LVU934 2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** } 3233 .loc 1 2165 14 is_stmt 0 view .LVU935 3234 0000 C06B ldr r0, [r0, #60] 3235 .LVL227: 2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 3236 .loc 1 2166 1 view .LVU936 3237 @ sp needed 3238 0002 7047 bx lr 3239 .cfi_endproc 3240 .LFE61: 3242 .text 3243 .Letext0: 3244 .file 2 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/ 3245 .file 3 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/ 3246 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h" 3247 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h" 3248 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" 3249 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h" 3250 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h" 3251 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" 3252 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" ARM GAS /tmp/cc2rPMmj.s page 116 DEFINED SYMBOLS *ABS*:00000000 stm32f0xx_hal_adc.c /tmp/cc2rPMmj.s:19 .text.ADC_ConversionStop:00000000 $t /tmp/cc2rPMmj.s:24 .text.ADC_ConversionStop:00000000 ADC_ConversionStop /tmp/cc2rPMmj.s:135 .text.ADC_Disable:00000000 $t /tmp/cc2rPMmj.s:140 .text.ADC_Disable:00000000 ADC_Disable /tmp/cc2rPMmj.s:282 .text.ADC_Enable:00000000 $t /tmp/cc2rPMmj.s:287 .text.ADC_Enable:00000000 ADC_Enable /tmp/cc2rPMmj.s:453 .text.ADC_Enable:000000a4 $d /tmp/cc2rPMmj.s:460 .text.HAL_ADC_MspInit:00000000 $t /tmp/cc2rPMmj.s:466 .text.HAL_ADC_MspInit:00000000 HAL_ADC_MspInit /tmp/cc2rPMmj.s:482 .text.HAL_ADC_Init:00000000 $t /tmp/cc2rPMmj.s:488 .text.HAL_ADC_Init:00000000 HAL_ADC_Init /tmp/cc2rPMmj.s:851 .text.HAL_ADC_Init:00000178 $d /tmp/cc2rPMmj.s:858 .text.HAL_ADC_MspDeInit:00000000 $t /tmp/cc2rPMmj.s:864 .text.HAL_ADC_MspDeInit:00000000 HAL_ADC_MspDeInit /tmp/cc2rPMmj.s:880 .text.HAL_ADC_DeInit:00000000 $t /tmp/cc2rPMmj.s:886 .text.HAL_ADC_DeInit:00000000 HAL_ADC_DeInit /tmp/cc2rPMmj.s:1045 .text.HAL_ADC_DeInit:00000090 $d /tmp/cc2rPMmj.s:1053 .text.HAL_ADC_Start:00000000 $t /tmp/cc2rPMmj.s:1059 .text.HAL_ADC_Start:00000000 HAL_ADC_Start /tmp/cc2rPMmj.s:1166 .text.HAL_ADC_Start:0000005c $d /tmp/cc2rPMmj.s:1171 .text.HAL_ADC_Stop:00000000 $t /tmp/cc2rPMmj.s:1177 .text.HAL_ADC_Stop:00000000 HAL_ADC_Stop /tmp/cc2rPMmj.s:1260 .text.HAL_ADC_Stop:00000040 $d /tmp/cc2rPMmj.s:1265 .text.HAL_ADC_PollForConversion:00000000 $t /tmp/cc2rPMmj.s:1271 .text.HAL_ADC_PollForConversion:00000000 HAL_ADC_PollForConversion /tmp/cc2rPMmj.s:1468 .text.HAL_ADC_PollForConversion:000000c4 $d /tmp/cc2rPMmj.s:1473 .text.HAL_ADC_PollForEvent:00000000 $t /tmp/cc2rPMmj.s:1479 .text.HAL_ADC_PollForEvent:00000000 HAL_ADC_PollForEvent /tmp/cc2rPMmj.s:1620 .text.HAL_ADC_Start_IT:00000000 $t /tmp/cc2rPMmj.s:1626 .text.HAL_ADC_Start_IT:00000000 HAL_ADC_Start_IT /tmp/cc2rPMmj.s:1763 .text.HAL_ADC_Start_IT:00000084 $d /tmp/cc2rPMmj.s:1768 .text.HAL_ADC_Stop_IT:00000000 $t /tmp/cc2rPMmj.s:1774 .text.HAL_ADC_Stop_IT:00000000 HAL_ADC_Stop_IT /tmp/cc2rPMmj.s:1863 .text.HAL_ADC_Stop_IT:0000004c $d /tmp/cc2rPMmj.s:1868 .text.HAL_ADC_Start_DMA:00000000 $t /tmp/cc2rPMmj.s:1874 .text.HAL_ADC_Start_DMA:00000000 HAL_ADC_Start_DMA /tmp/cc2rPMmj.s:2033 .text.HAL_ADC_Start_DMA:00000098 $d /tmp/cc2rPMmj.s:2246 .text.ADC_DMAConvCplt:00000000 ADC_DMAConvCplt /tmp/cc2rPMmj.s:2386 .text.ADC_DMAHalfConvCplt:00000000 ADC_DMAHalfConvCplt /tmp/cc2rPMmj.s:2461 .text.ADC_DMAError:00000000 ADC_DMAError /tmp/cc2rPMmj.s:2041 .text.HAL_ADC_Stop_DMA:00000000 $t /tmp/cc2rPMmj.s:2047 .text.HAL_ADC_Stop_DMA:00000000 HAL_ADC_Stop_DMA /tmp/cc2rPMmj.s:2186 .text.HAL_ADC_Stop_DMA:00000080 $d /tmp/cc2rPMmj.s:2191 .text.HAL_ADC_GetValue:00000000 $t /tmp/cc2rPMmj.s:2197 .text.HAL_ADC_GetValue:00000000 HAL_ADC_GetValue /tmp/cc2rPMmj.s:2219 .text.HAL_ADC_ConvCpltCallback:00000000 $t /tmp/cc2rPMmj.s:2225 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback /tmp/cc2rPMmj.s:2241 .text.ADC_DMAConvCplt:00000000 $t /tmp/cc2rPMmj.s:2354 .text.ADC_DMAConvCplt:0000006c $d /tmp/cc2rPMmj.s:2359 .text.HAL_ADC_ConvHalfCpltCallback:00000000 $t /tmp/cc2rPMmj.s:2365 .text.HAL_ADC_ConvHalfCpltCallback:00000000 HAL_ADC_ConvHalfCpltCallback /tmp/cc2rPMmj.s:2381 .text.ADC_DMAHalfConvCplt:00000000 $t /tmp/cc2rPMmj.s:2412 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 $t /tmp/cc2rPMmj.s:2418 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 HAL_ADC_LevelOutOfWindowCallback /tmp/cc2rPMmj.s:2434 .text.HAL_ADC_ErrorCallback:00000000 $t ARM GAS /tmp/cc2rPMmj.s page 117 /tmp/cc2rPMmj.s:2440 .text.HAL_ADC_ErrorCallback:00000000 HAL_ADC_ErrorCallback /tmp/cc2rPMmj.s:2456 .text.ADC_DMAError:00000000 $t /tmp/cc2rPMmj.s:2497 .text.HAL_ADC_IRQHandler:00000000 $t /tmp/cc2rPMmj.s:2503 .text.HAL_ADC_IRQHandler:00000000 HAL_ADC_IRQHandler /tmp/cc2rPMmj.s:2694 .text.HAL_ADC_IRQHandler:000000cc $d /tmp/cc2rPMmj.s:2699 .text.HAL_ADC_ConfigChannel:00000000 $t /tmp/cc2rPMmj.s:2705 .text.HAL_ADC_ConfigChannel:00000000 HAL_ADC_ConfigChannel /tmp/cc2rPMmj.s:2988 .text.HAL_ADC_ConfigChannel:0000011c $d /tmp/cc2rPMmj.s:2999 .text.HAL_ADC_AnalogWDGConfig:00000000 $t /tmp/cc2rPMmj.s:3005 .text.HAL_ADC_AnalogWDGConfig:00000000 HAL_ADC_AnalogWDGConfig /tmp/cc2rPMmj.s:3186 .text.HAL_ADC_AnalogWDGConfig:000000a0 $d /tmp/cc2rPMmj.s:3192 .text.HAL_ADC_GetState:00000000 $t /tmp/cc2rPMmj.s:3198 .text.HAL_ADC_GetState:00000000 HAL_ADC_GetState /tmp/cc2rPMmj.s:3218 .text.HAL_ADC_GetError:00000000 $t /tmp/cc2rPMmj.s:3224 .text.HAL_ADC_GetError:00000000 HAL_ADC_GetError UNDEFINED SYMBOLS HAL_GetTick __aeabi_uidiv SystemCoreClock HAL_DMA_Start_IT HAL_DMA_Abort