ARM GAS /tmp/ccbNWEOT.s page 1
1 .cpu cortex-m0
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 0
10 .eabi_attribute 18, 4
11 .file "stm32f0xx_hal_adc.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.ADC_ConversionStop,"ax",%progbits
16 .align 1
17 .syntax unified
18 .code 16
19 .thumb_func
20 .fpu softvfp
22 ADC_ConversionStop:
23 .LFB64:
24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c"
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 **** * ++ Initialization and Configuration of ADC
10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Operation functions
11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Start, stop, get result of conversions of regular
12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * group, using 3 possible modes: polling, interruption or DMA.
13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Control functions
14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Channels configuration on regular group
15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Analog Watchdog configuration
16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + State functions
17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ ADC state machine management
18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Interrupts and flags management
19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Other functions (extended functions) are available in file
20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "stm32f0xx_hal_adc_ex.c".
21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ==============================================================================
24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### ADC peripheral features #####
25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ==============================================================================
26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution
28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Interrupt generation at the end of regular conversion and in case of
30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** analog watchdog or overrun events.
31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Single and continuous conversion modes.
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Scan mode for conversion of several channels sequentially.
ARM GAS /tmp/ccbNWEOT.s page 2
35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Data alignment with in-built data coherency.
37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Programmable sampling time (common for all channels)
39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC conversion of regular group.
41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) External trigger (timer or EXTI) with configurable polarity
43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) DMA request generation for transfer of conversions data of regular group.
45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC calibration
47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
48: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
49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** slower speed.
50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC input range: from Vref- (connected to Vssa) to Vref+ (connected to
52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Vdda or to an external voltage reference).
53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### How to use this driver #####
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 ****
59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Configuration of top level parameters related to ADC ***
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 ****
63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Enable the ADC interface
64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) As prerequisite, ADC clock must be configured at RCC top level.
65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Caution: On STM32F0, ADC clock frequency max is 14MHz (refer
66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** to device datasheet).
67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Therefore, ADC clock prescaler must be configured in
68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function of ADC clock source frequency to remain below
69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** this maximum frequency.
70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Two clock settings are mandatory:
72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) ADC clock (core clock, also possibly conversion clock).
73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) ADC clock (conversions clock).
75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Two possible clock sources: synchronous clock derived from APB clock
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** or asynchronous clock derived from ADC dedicated HSI RC oscillator
77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 14MHz.
78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** If asynchronous clock is selected, parameter "HSI14State" must be set either:
79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** - to "...HSI14State = RCC_HSI14_ADC_CONTROL" to let the ADC control
80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** the HSI14 oscillator enable/disable (if not used to supply the main
81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** system clock): feature used if ADC mode LowPowerAutoPowerOff is
82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** enabled.
83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** - to "...HSI14State = RCC_HSI14_ON" to maintain the HSI14 oscillator
84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** always enabled: can be used to supply the main system clock.
85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Example:
87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Into HAL_ADC_MspInit() (recommended code location) or with
88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** other device clock parameters configuration:
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) __HAL_RCC_ADC1_CLK_ENABLE(); (mandatory)
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HI14 enable or let under control of ADC: (optional: if asynchronous clock
ARM GAS /tmp/ccbNWEOT.s page 3
92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitTypeDef RCC_OscInitStructure;
93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI14;
94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14State = RCC_HSI14_ADC_CONTROL;
96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.PLL... (optional if used for system clock)
97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure);
98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock source and clock prescaler are configured at ADC level with
100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** parameter "ClockPrescaler" using function HAL_ADC_Init().
101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC pins configuration
103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Enable the clock for the ADC GPIOs
104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_ENABLE()
105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure these ADC pins in analog mode
106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_GPIO_Init()
107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions:
109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the NVIC for ADC
110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(ADCx_IRQn)
111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler()
112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** into the function of corresponding ADC interruption vector
113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADCx_IRQHandler().
114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of DMA:
116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the DMA (DMA channel, mode normal or circular, ...)
117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_DMA_Init().
118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the NVIC for DMA
119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(DMAx_Channelx_IRQn)
120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler()
121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** into the function of corresponding DMA interruption vector
122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** DMAx_Channelx_IRQHandler().
123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Configuration of ADC, group regular, channels parameters ***
125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ================================================================
126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...)
129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...)
130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Init().
131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number,
133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** channel rank into sequencer, ..., into regular group)
134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_ConfigChannel().
135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels
137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** monitored, thresholds, ...)
138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_AnalogWDGConfig().
139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Execution of ADC conversions ***
141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ====================================
142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, perform an automatic ADC calibration to improve the
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** conversion accuracy
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADCEx_Calibration_Start().
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption,
ARM GAS /tmp/ccbNWEOT.s page 4
149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** transfer by DMA.
150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion by polling:
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start()
154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion
155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_PollForConversion()
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Retrieve conversion results
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_GetValue()
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral
159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop()
160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion by interruption:
162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions
163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start_IT()
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function
165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback()
166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (this function must be implemented in user program)
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Retrieve conversion results
168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_GetValue()
169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop_IT()
171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion with transfer by DMA:
173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions
174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start_DMA()
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function
176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback() or HAL_ADC_ConvHalfCpltCallback()
177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (these functions must be implemented in user program)
178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Conversion results are automatically transferred by DMA into
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** destination variable address.
180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral
181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop_DMA()
182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (@) Callback functions must be implemented in user program:
186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ErrorCallback()
187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_LevelOutOfWindowCallback() (callback of analog watchdog)
188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ConvCpltCallback()
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ConvHalfCpltCallback
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Deinitialization of ADC ***
192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Disable the ADC interface
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level.
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Hard reset of ADC peripherals
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __ADCx_FORCE_RESET(), __ADCx_RELEASE_RESET().
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock disable
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using the equivalent macro/functions as configuration step.
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Example:
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** other device clock parameters configuration:
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI14;
205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14State = RCC_HSI14_OFF; (if not used for system clock
ARM GAS /tmp/ccbNWEOT.s page 5
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure);
207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC pins configuration
209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_DISABLE()
211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions:
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the NVIC for ADC
214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(ADCx_IRQn)
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of DMA:
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Deinitialize the DMA
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_DMA_DeInit().
219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the NVIC for DMA
220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn)
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Callback registration ***
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 ****
228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1,
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks.
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Use Functions @ref HAL_ADC_RegisterCallback()
231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** to register an interrupt callback.
232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Function @ref HAL_ADC_RegisterCallback() allows to register following callbacks:
235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback
236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback
237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback
238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ErrorCallback : ADC error callback
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and a pointer to the user callback function.
243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Use function @ref HAL_ADC_UnRegisterCallback to reset a callback to the default
246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** weak function.
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @ref HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle,
250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and the Callback ID.
251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This function allows to reset following callbacks:
252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback
253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback
254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback
255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ErrorCallback : ADC error callback
256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback
257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** By default, after the @ref HAL_ADC_Init() and when the state is @ref HAL_ADC_STATE_RESET
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** all callbacks are set to the corresponding weak functions:
262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** examples @ref HAL_ADC_ConvCpltCallback(), @ref HAL_ADC_ErrorCallback().
ARM GAS /tmp/ccbNWEOT.s page 6
263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are
264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** reset to the legacy weak functions in the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit() only when
265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** these callbacks are null (not registered beforehand).
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** If MspInit or MspDeInit are not null, the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit()
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Callbacks can be registered/unregistered in @ref HAL_ADC_STATE_READY state only.
273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** in @ref HAL_ADC_STATE_READY or @ref HAL_ADC_STATE_RESET state,
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using @ref HAL_ADC_RegisterCallback() before calling @ref HAL_ADC_DeInit()
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** or @ref HAL_ADC_Init() function.
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** are set to the corresponding weak functions.
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ******************************************************************************
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @attention
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
© Copyright (c) 2016 STMicroelectronics.
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * All rights reserved.
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This software component is licensed by ST under BSD 3-Clause license,
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the "License"; You may not use this file except in compliance with the
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * License. You may obtain a copy of the License at:
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * opensource.org/licenses/BSD-3-Clause
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 **** */
301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Includes ------------------------------------------------------------------*/
303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #include "stm32f0xx_hal.h"
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @addtogroup STM32F0xx_HAL_Driver
306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC ADC
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief ADC HAL module driver
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 ****
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #ifdef HAL_ADC_MODULE_ENABLED
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private typedef -----------------------------------------------------------*/
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private define ------------------------------------------------------------*/
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Constants ADC Private Constants
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
ARM GAS /tmp/ccbNWEOT.s page 7
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Fixed timeout values for ADC calibration, enable settling time, disable */
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* settling time. */
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Values defined to be higher than worst cases: low clock frequency, */
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* maximum prescaler. */
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Ex of profile low frequency : Clock source at 0.1 MHz, ADC clock */
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* prescaler 4, sampling time 7.5 ADC clock cycles, resolution 12 bits. */
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: ms */
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_ENABLE_TIMEOUT ( 2U)
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_DISABLE_TIMEOUT ( 2U)
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_STOP_CONVERSION_TIMEOUT ( 2U)
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for ADC stabilization time. */
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Maximum delay is 1us (refer to device datasheet, parameter tSTAB). */
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: us */
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_STAB_DELAY_US ( 1U)
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for temperature sensor stabilization time. */
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Maximum delay is 10us (refer to device datasheet, parameter tSTART). */
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: us */
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_TEMPSENSOR_DELAY_US ( 10U)
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 **** * @}
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private macro -------------------------------------------------------------*/
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private variables ---------------------------------------------------------*/
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private function prototypes -----------------------------------------------*/
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Functions ADC Private Functions
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 **** static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc);
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc);
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc);
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma);
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma);
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma);
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Exported functions ---------------------------------------------------------*/
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions ADC Exported Functions
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group1 Initialization/de-initialization functions
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initialization and Configuration functions
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Initialization and de-initialization functions #####
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to:
ARM GAS /tmp/ccbNWEOT.s page 8
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Initialize and configure the ADC.
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) De-initialize the ADC
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initializes the ADC peripheral and regular group according to
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameters specified in structure "ADC_InitTypeDef".
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note As prerequisite, ADC clock must be configured at RCC top level
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * depending on both possible clock sources: APB clock of HSI clock.
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * See commented example code below that can be copied and uncommented
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * into HAL_ADC_MspInit().
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly:
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes the ADC MSP (HAL_ADC_MspInit()) only when
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * coming from ADC state reset. Following calls to this function can
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * be used to reconfigure some parameters of ADC_InitTypeDef
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * structure on the fly, without modifying MSP configuration. If ADC
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * MSP has to be modified again, HAL_ADC_DeInit() must be called
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * before HAL_ADC_Init().
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state.
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_InitTypeDef".
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function configures the ADC within 2 scopes: scope of entire
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC and scope of regular group. For parameters details, see comments
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_InitTypeDef".
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc)
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpCFGR1 = 0U;
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check ADC handle */
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(hadc == NULL)
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler));
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution));
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign));
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode));
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode));
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge));
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv));
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests));
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection));
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun));
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait));
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoPowerOff));
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* As prerequisite, into HAL_ADC_MspInit(), ADC clock must be configured */
ARM GAS /tmp/ccbNWEOT.s page 9
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* at RCC top level depending on both possible clock sources: */
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* APB clock or HSI clock. */
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Refer to header of this file for more details on clock enabling procedure*/
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Actions performed only if ADC is coming from state reset: */
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Initialization of ADC MSP */
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC voltage regulator enable */
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->State == HAL_ADC_STATE_RESET)
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Initialize ADC error code */
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allocate lock resource and initialize it */
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Lock = HAL_UNLOCKED;
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the ADC Callback settings */
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->MspInitCallback == NULL)
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the low level hardware */
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback(hadc);
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the low level hardware */
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_MspInit(hadc);
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* correctly completed. */
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* and if there is no conversion on going on regular group (ADC can be */
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enabled anyway, in case of call of this function to update a parameter */
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* on the fly). */
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL) &&
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) &&
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) )
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL);
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated only when ADC is disabled: */
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC clock mode */
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC clock prescaler */
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC resolution */
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) == RESET)
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Some parameters of this register are not reset, since they are set */
ARM GAS /tmp/ccbNWEOT.s page 10
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by other functions and must be kept in case of usage of this */
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* function on the fly (update of a parameter of ADC_InitTypeDef */
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* without needing to reconfigure all other ADC groups/channels */
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameters): */
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - internal measurement paths: Vbat, temperature sensor, Vref */
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (set into HAL_ADC_ConfigChannel() ) */
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC resolution */
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** MODIFY_REG(hadc->Instance->CFGR1,
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_RES ,
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.Resolution );
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC clock mode: clock source AHB or HSI with */
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* selectable prescaler */
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** MODIFY_REG(hadc->Instance->CFGR2 ,
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR2_CKMODE ,
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ClockPrescaler );
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC: */
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - discontinuous mode */
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - LowPowerAutoWait mode */
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - LowPowerAutoPowerOff mode */
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - continuous conversion mode */
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - overrun */
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - external trigger to start conversion */
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - external trigger polarity */
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - data alignment */
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - resolution */
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - scan direction */
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - DMA continuous request */
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~( ADC_CFGR1_DISCEN |
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF |
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTDLY |
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONT |
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVRMOD |
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTSEL |
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTEN |
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_ALIGN |
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_SCANDIR |
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACFG );
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= (ADC_CFGR1_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) |
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) |
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) |
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) |
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_SCANDIR(hadc->Init.ScanConvMode) |
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable discontinuous mode only if continuous mode is disabled */
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.DiscontinuousConvMode == ENABLE)
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.ContinuousConvMode == DISABLE)
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the selected ADC group regular discontinuous mode */
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= ADC_CFGR1_DISCEN;
ARM GAS /tmp/ccbNWEOT.s page 11
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC regular group discontinuous was intended to be enabled, */
552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* but ADC regular group modes continuous and sequencer discontinuous */
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* cannot be enabled simultaneously. */
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable external trigger if trigger selection is different of software */
564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* start. */
565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: This configuration keeps the hardware feature of parameter */
566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ExternalTrigConvEdge "trigger edge none" equivalent to */
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* software start. */
568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START)
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= ( hadc->Init.ExternalTrigConv |
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge );
572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC configuration register with previous settings */
575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= tmpCFGR1;
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of parameters "SamplingTimeCommon" and "SamplingTime" */
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (obsolete): sampling time set in this function if parameter */
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "SamplingTimeCommon" has been set to a valid sampling time. */
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Otherwise, sampling time is set into ADC channel initialization */
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* structure with parameter "SamplingTime" (obsolete). */
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon))
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the old sample time */
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~(ADC_SMPR_SMP);
588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the new sample time */
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR |= ADC_SMPR_SET(hadc->Init.SamplingTimeCommon);
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check back that ADC registers have effectively been configured to */
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ensure of no potential problem of ADC core IP clocking. */
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check through register CFGR1 (excluding analog watchdog configuration: */
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* set into separate dedicated function, and bits of ADC resolution set */
597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* out of temporary variable 'tmpCFGR1'). */
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->Instance->CFGR1 & ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1
599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1)
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to none */
602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the ADC state */
ARM GAS /tmp/ccbNWEOT.s page 12
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_ERROR_INTERNAL);
615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_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 **** }
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Deinitialize the ADC peripheral registers to their default reset
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * values, with deinitialization of the ADC MSP.
639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note For devices with several ADCs: reset of ADC common registers is done
640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * only if all ADCs sharing the same common group are disabled.
641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * If this is not the case, reset of these common parameters reset is
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * bypassed without error reporting: it can be the intended behaviour in
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * case of reset of a single ADC while the other ADCs sharing the same
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * common group is still running.
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc)
649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check ADC handle */
653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(hadc == NULL)
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
ARM GAS /tmp/ccbNWEOT.s page 13
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL);
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop potential conversion on going, on regular group */
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC peripheral */
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_ERROR)
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state */
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_READY;
678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* correctly completed. */
684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_ERROR)
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Reset ADC registers ========== */
688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register IER */
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD | ADC_IT_OVR |
690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOS | ADC_IT_EOC |
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOSMP | ADC_IT_RDY ) );
692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register ISR */
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD | ADC_FLAG_OVR |
695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOS | ADC_FLAG_EOC |
696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOSMP | ADC_FLAG_RDY ) );
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CR */
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Bits ADC_CR_ADCAL, ADC_CR_ADSTP, ADC_CR_ADSTART are in access mode */
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "read-set": no direct reset applicable. */
701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CFGR1 */
703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1_
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTEN | ADC_CFGR1_EXTSEL | ADC_CFGR1_ALIGN | ADC_CFGR1_
706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_SCANDIR | ADC_CFGR1_DMACFG | ADC_CFGR1_DMAEN
707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CFGR2 */
709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Update of ADC clock mode is conditioned to ADC state disabled: */
710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* already done above. */
711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR2 &= ~ADC_CFGR2_CKMODE;
712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register SMPR */
714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~ADC_SMPR_SMP;
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register TR1 */
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT);
718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
ARM GAS /tmp/ccbNWEOT.s page 14
719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CHSELR */
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR &= ~(ADC_CHSELR_CHSEL18 | ADC_CHSELR_CHSEL17 | ADC_CHSELR_CHSEL16 |
721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL11 | ADC_CHSELR_CHSEL10 | ADC_CHSELR_CHSEL9 | ADC_
723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL7 | ADC_CHSELR_CHSEL6 | ADC_CHSELR_CHSEL5 | ADC_
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL3 | ADC_CHSELR_CHSEL2 | ADC_CHSELR_CHSEL1 | ADC_
725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register DR */
727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* bits in access mode read only, no direct reset applicable*/
728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CCR */
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR &= ~(ADC_CCR_ALL);
731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Hard reset ADC peripheral ========== */
733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Performs a global reset of the entire ADC peripheral: ADC state is */
734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* forced to a similar state after device power-on. */
735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If needed, copy-paste and uncomment the following reset code into */
736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* function "void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)": */
737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* */
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* __HAL_RCC_ADC1_FORCE_RESET() */
739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* __HAL_RCC_ADC1_RELEASE_RESET() */
740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->MspDeInitCallback == NULL)
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */
745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* DeInit the low level hardware */
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback(hadc);
749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* DeInit the low level hardware */
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_MspDeInit(hadc);
752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to none */
755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_RESET;
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 **** /* Process unlocked */
762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initializes the ADC MSP.
771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
ARM GAS /tmp/ccbNWEOT.s page 15
776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_MspInit must be implemented in the user file.
781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DeInitializes the ADC MSP.
786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_MspDeInit must be implemented in the user file.
796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Register a User ADC Callback
802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * To be used instead of the weak predefined callback
803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains
804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the configuration information for the specified ADC.
805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param CallbackID ID of the callback to be registered
806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values:
807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID
808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID
809: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
810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID
811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet
812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID
813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID
814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID
815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID
816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param pCallback pointer to the Callback function
817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb
820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK;
822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (pCallback == NULL)
824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0)
832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
ARM GAS /tmp/ccbNWEOT.s page 16
833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID :
836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = pCallback;
837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID :
840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = pCallback;
841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID :
844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = pCallback;
845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID :
848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = pCallback;
849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = pCallback;
853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback;
857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
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 **** }
868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State)
869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = pCallback;
874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback;
878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
ARM GAS /tmp/ccbNWEOT.s page 17
890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return status;
899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Unregister a ADC Callback
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC callback is redirected to the weak predefined callback
904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains
905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the configuration information for the specified ADC.
906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param CallbackID ID of the callback to be unregistered
907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values:
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID
909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID
910: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
911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID
912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet
913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID
914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID
915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID
916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID
917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK;
922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0)
924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID :
928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback;
929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID :
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback;
933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID :
936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback;
937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID :
940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback;
941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */
945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
ARM GAS /tmp/ccbNWEOT.s page 18
947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */
949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
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 **** }
960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State)
961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit
966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit
970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
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 **** else
982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
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 **** return status;
991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group2 IO operation functions
1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief IO operation functions
1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
ARM GAS /tmp/ccbNWEOT.s page 19
1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### IO operation functions #####
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to:
1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group.
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group.
1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Poll for conversion complete on regular group.
1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Poll for conversion event.
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Get result of regular channel conversion.
1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group and enable interruptions.
1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group and disable interruptions.
1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Handle ADC interrupt request
1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group and enable DMA transfer.
1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group and disable ADC DMA transfer.
1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group.
1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function: None.
1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc)
1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */
1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */
1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */
1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE)
1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc);
1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1055: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
1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */
1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
ARM GAS /tmp/ccbNWEOT.s page 20
1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */
1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */
1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR));
1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */
1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */
1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */
1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */
1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART;
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 **** else
1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY;
1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable ADC peripheral.
1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc)
1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */
1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */
1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
ARM GAS /tmp/ccbNWEOT.s page 21
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 ****
1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Wait for regular group conversion to be completed.
1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note ADC conversion flags EOS (end of sequence) and EOC (end of
1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * conversion) are cleared by this function, with an exception:
1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * if low power feature "LowPowerAutoWait" is enabled, flags are
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * not cleared to not interfere with this feature until data register
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * is read using function HAL_ADC_GetValue().
1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function cannot be used in a particular setup: ADC configured
1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * in DMA mode and polling for end of each conversion (ADC init
1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SINGLE_CONV).
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * In this case, DMA resets the flag EOC and polling cannot be
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * performed on each conversion. Nevertheless, polling can still
1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * be performed on the complete sequence (ADC init
1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SEQ_CONV).
1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Timeout Timeout value in millisecond.
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout)
1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart;
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_Flag_EOC;
1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If end of conversion selected to end of sequence */
1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV)
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_Flag_EOC = ADC_FLAG_EOS;
1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If end of conversion selected to end of each conversion */
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else /* ADC_EOC_SINGLE_CONV */
1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification that ADC configuration is compliant with polling for */
1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* each conversion: */
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Particular case is ADC configured in DMA mode and ADC sequencer with */
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* several ranks and polling for end of each conversion. */
1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* For code simplicity sake, this particular case is generalized to */
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC configured in DMA mode and and polling for end of each conversion. */
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN))
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
ARM GAS /tmp/ccbNWEOT.s page 22
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_Flag_EOC = (ADC_FLAG_EOC | ADC_FLAG_EOS);
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait until End of Conversion flag is raised */
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_EOC))
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */
1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY)
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout))
1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to timeout */
1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT);
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_TIMEOUT;
1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine */
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) )
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */
1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */
1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */
1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS);
1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
ARM GAS /tmp/ccbNWEOT.s page 23
1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear end of conversion flag of regular group if low power feature */
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "LowPowerAutoWait " is disabled, to not interfere with this feature */
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* until data register is read using function HAL_ADC_GetValue(). */
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoWait == DISABLE)
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag */
1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS));
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 **** /* Return ADC state */
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Poll for conversion event.
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param EventType the ADC event type.
1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values:
1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg ADC_AWD_EVENT: ADC Analog watchdog event
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg ADC_OVR_EVENT: ADC Overrun event
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Timeout Timeout value in millisecond.
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeou
1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart=0;
1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType));
1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check selected event flag */
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET)
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */
1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY)
1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout))
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to timeout */
1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT);
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
ARM GAS /tmp/ccbNWEOT.s page 24
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_TIMEOUT;
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 ****
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch(EventType)
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Analog watchdog (level out of window) event */
1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case ADC_AWD_EVENT:
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1);
1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC analog watchdog flag */
1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD);
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Overrun event */
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default: /* Case ADC_OVR_EVENT */
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If overrun is set to overwrite previous data, overrun event is not */
1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* considered as an error. */
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (cf ref manual "Managing conversions without using the DMA and without */
1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun ") */
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED)
1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR);
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to overrun */
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR);
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC Overrun flag */
1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
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 **** /**
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group with interruption.
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function:
1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - EOC (end of conversion of regular group) or EOS (end of
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * sequence of regular group) depending on ADC initialization
1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection"
1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - overrun (if available)
1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function.
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc)
1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
ARM GAS /tmp/ccbNWEOT.s page 25
1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */
1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE)
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc);
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1370: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
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR));
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC end of conversion interrupt */
1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC overrun interrupt */
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch(hadc->Init.EOCSelection)
1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case ADC_EOC_SEQ_CONV:
1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC);
1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOS | ADC_IT_OVR));
1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* case ADC_EOC_SINGLE_CONV */
1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default:
1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR));
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */
1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */
ARM GAS /tmp/ccbNWEOT.s page 26
1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */
1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART;
1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY;
1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
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 **** /**
1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable interruption of
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * end-of-conversion, disable ADC peripheral.
1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc)
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of conversion interrupt for regular group */
1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC overrun interrupt */
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR));
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
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 ****
1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
ARM GAS /tmp/ccbNWEOT.s page 27
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
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 **** /**
1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group and transfers result
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * through DMA.
1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function:
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - DMA transfer complete
1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - DMA half transfer
1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - overrun
1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function.
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param pData The destination Buffer address.
1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Length The length of data to be transferred from ADC peripheral to memory.
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length)
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */
1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE)
1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc);
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1504: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
1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA transfer complete callback */
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt;
ARM GAS /tmp/ccbNWEOT.s page 28
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA half transfer complete callback */
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt;
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA error callback */
1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback = ADC_DMAError;
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* start (in case of SW start): */
1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR));
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC overrun interrupt */
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR);
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC DMA mode */
1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= ADC_CFGR1_DMAEN;
1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start the DMA channel */
1540: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);
1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */
1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */
1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART;
1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY;
1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
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 **** /**
1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable ADC DMA transfer, disable
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC peripheral.
1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function.
1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc)
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
ARM GAS /tmp/ccbNWEOT.s page 29
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC DMA (ADC DMA configuration ADC_CFGR_DMACFG is kept) */
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~ADC_CFGR1_DMAEN;
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the DMA channel (in case of DMA in circular mode or stop while */
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* while DMA transfer is on going) */
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle);
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if DMA channel effectively disabled */
1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_OK)
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA);
1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC overrun interrupt */
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR);
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */
1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update "tmp_hal_status" only if DMA channel disabling passed, to keep */
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* in memory a potential failing status. */
1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_Disable(hadc);
1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
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 **** /* Process unlocked */
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Get ADC regular group conversion result.
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Reading register DR automatically clears ADC flag EOC
ARM GAS /tmp/ccbNWEOT.s page 30
1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC group regular end of unitary conversion).
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function does not clear ADC flag EOS
1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC group regular end of sequence conversion).
1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Occurrence of flag EOS rising:
1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - If sequencer is composed of 1 rank, flag EOS is equivalent
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * to flag EOC.
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - If sequencer is composed of several ranks, during the scan
1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * sequence flag EOC only is raised, at the end of the scan sequence
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * both flags EOC and EOS are raised.
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * To clear this flag, either use function:
1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * in programming model IT: @ref HAL_ADC_IRQHandler(), in programming
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * model polling: @ref HAL_ADC_PollForConversion()
1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * or @ref __HAL_ADC_CLEAR_FLAG(&hadc, ADC_FLAG_EOS).
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval ADC group regular conversion data
1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc)
1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: EOC flag is not cleared here by software because automatically */
1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* cleared by hardware when reading register DR. */
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC converted value */
1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->Instance->DR;
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Handles ADC interrupt request.
1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc)
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection));
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check End of Conversion flag for regular group ========== */
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOC)) ||
1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL))
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */
ARM GAS /tmp/ccbNWEOT.s page 31
1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) )
1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */
1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */
1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS);
1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: into callback, to determine if conversion has been triggered */
1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* from EOC or EOS, possibility to use: */
1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* " if( __HAL_ADC_GET_FLAG(&hadc, ADC_FLAG_EOS)) " */
1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback(hadc);
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc);
1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag */
1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: in case of overrun set to ADC_OVR_DATA_PRESERVED, end of */
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion flags clear induces the release of the preserved data.*/
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Therefore, if the preserved data value is needed, it must be */
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* read preliminarily into HAL_ADC_ConvCpltCallback(). */
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS) );
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check Analog watchdog flags ========== */
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_AWD) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_AWD))
1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1);
1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback(hadc);
1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_LevelOutOfWindowCallback(hadc);
1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
ARM GAS /tmp/ccbNWEOT.s page 32
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC Analog watchdog flag */
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD);
1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check Overrun flag ========== */
1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_OVR) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_OVR))
1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If overrun is set to overwrite previous data (default setting), */
1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun event is not considered as an error. */
1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (cf ref manual "Managing conversions without using the DMA and without */
1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun ") */
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Exception for usage with DMA overrun event always considered as an */
1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* error. */
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) ||
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) )
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to overrun */
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR);
1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC overrun flag */
1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback(hadc);
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc);
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the Overrun flag */
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
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 ****
1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Conversion complete callback in non blocking mode
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ConvCpltCallback must be implemented in the user file.
1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Conversion DMA half-transfer callback in non blocking mode
1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
ARM GAS /tmp/ccbNWEOT.s page 33
1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc)
1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ConvHalfCpltCallback must be implemented in the user file.
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Analog watchdog callback in non blocking mode.
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc)
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_LevelOoutOfWindowCallback must be implemented in the user file.
1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief ADC error callback in non blocking mode
1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC conversion with interruption or transfer by DMA)
1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ErrorCallback must be implemented in the user file.
1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
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 **** /** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions
1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Peripheral Control functions
1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Peripheral Control functions #####
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to:
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Configure channels on regular group
ARM GAS /tmp/ccbNWEOT.s page 34
1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Configure the analog watchdog
1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Configures the the selected channel to be linked to the regular
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * group.
1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note In case of usage of internal measurement channels:
1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * VrefInt/Vbat/TempSensor.
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Sampling time constraints must be respected (sampling time can be
1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * adjusted in function of ADC clock frequency and sampling time
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * setting).
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Refer to device datasheet for timings values, parameters TS_vrefint,
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * TS_vbat, TS_temp (values rough order: 5us to 17us).
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * These internal paths can be be disabled using function
1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * HAL_ADC_DeInit().
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly:
1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes channel into regular group, following
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters
1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_ChannelConfTypeDef" on the fly, without reseting
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the ADC.
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state.
1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure
1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_ChannelConfTypeDef".
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param sConfig Structure of ADC channel for regular group.
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig)
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(sConfig->Channel));
1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANK(sConfig->Rank));
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon))
1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime));
1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated when ADC is disabled or enabled without */
1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion on going on regular group: */
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Channel number */
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Channel sampling time */
1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Management of internal measurement channels: VrefInt/TempSensor/Vbat */
1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configure channel: depending on rank setting, add it or remove it from */
ARM GAS /tmp/ccbNWEOT.s page 35
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC conversion sequencer. */
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->Rank != ADC_RANK_NONE)
1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Regular sequence configuration */
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the channel selection register from the selected channel */
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR |= ADC_CHSELR_CHANNEL(sConfig->Channel);
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of parameters "SamplingTimeCommon" and "SamplingTime" */
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (obsolete): sampling time set in this function with */
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameter "SamplingTime" (obsolete) only if not already set into */
1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC initialization structure with parameter "SamplingTimeCommon". */
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon))
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Modify sampling time if needed (not needed in case of reoccurrence */
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* for several channels programmed consecutively into the sequencer) */
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->SamplingTime != ADC_GET_SAMPLINGTIME(hadc))
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the old sample time */
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~(ADC_SMPR_SMP);
1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the new sample time */
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR |= ADC_SMPR_SET(sConfig->SamplingTime);
1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of internal measurement channels: VrefInt/TempSensor/Vbat */
1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* internal measurement paths enable: If internal channel selected, */
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enable dedicated internal buffers and path. */
1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: these internal measurement paths can be disabled using */
1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_ADC_DeInit() or removing the channel from sequencer with */
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channel configuration parameter "Rank". */
1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_CHANNEL_INTERNAL(sConfig->Channel))
1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_16 is selected, enable Temp. sensor measurement path. */
1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_17 is selected, enable VREFINT measurement path. */
1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_18 is selected, enable VBAT measurement path. */
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR |= ADC_CHANNEL_INTERNAL_PATH(sConfig->Channel);
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Temp. sensor is selected, wait for stabilization delay */
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR)
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for temperature sensor stabilization time */
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000U));
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index--;
1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Regular sequence configuration */
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset the channel selection register from the selected channel */
ARM GAS /tmp/ccbNWEOT.s page 36
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR &= ~ADC_CHSELR_CHANNEL(sConfig->Channel);
1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of internal measurement channels: VrefInt/TempSensor/Vbat */
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* internal measurement paths disable: If internal channel selected, */
1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* disable dedicated internal buffers and path. */
1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_CHANNEL_INTERNAL(sConfig->Channel))
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_16 is selected, disable Temp. sensor measurement path. */
1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_17 is selected, disable VREFINT measurement path. */
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_18 is selected, disable VBAT measurement path. */
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR &= ~ADC_CHANNEL_INTERNAL_PATH(sConfig->Channel);
1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If a conversion is on going on regular group, no update on regular */
1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channel could be done on neither of the channel configuration structure */
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameters. */
1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Configures the analog watchdog.
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly:
2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes the selected analog watchdog, following
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters
2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_AnalogWDGConfTypeDef" on the fly, without reseting
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the ADC.
2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state.
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure
2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_AnalogWDGConfTypeDef".
2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param AnalogWDGConfig Structure of ADC analog watchdog configuration
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* Analog
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpAWDHighThresholdShifted;
2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpAWDLowThresholdShifted;
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
ARM GAS /tmp/ccbNWEOT.s page 37
2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ANALOG_WATCHDOG_MODE(AnalogWDGConfig->WatchdogMode));
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode));
2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verify if threshold is within the selected ADC resolution */
2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold));
2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold));
2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(AnalogWDGConfig->WatchdogMode == ADC_ANALOGWATCHDOG_SINGLE_REG)
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel));
2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */
2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated when ADC is disabled or enabled without */
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion on going on regular group: */
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Analog watchdog channels */
2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Analog watchdog thresholds */
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of analog watchdog: */
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set the analog watchdog enable mode: one or overall group of */
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channels. */
2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set the Analog watchdog channel (is not used if watchdog */
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* mode "all channels": ADC_CFGR_AWD1SGL=0). */
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~( ADC_CFGR1_AWDSGL |
2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN |
2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDCH );
2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= ( AnalogWDGConfig->WatchdogMode |
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) );
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Shift the offset in function of the selected ADC resolution: Thresholds*/
2066: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 */
2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDHighThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThre
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres
2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the high and low thresholds */
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT);
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) |
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted );
2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the ADC Analog watchdog flag (in case of left enabled by */
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* previous ADC operations) to be ready to use for HAL_ADC_IRQHandler() */
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* or HAL_ADC_PollForEvent(). */
2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_IT_AWD);
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configure ADC Analog watchdog interrupt */
2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(AnalogWDGConfig->ITMode == ENABLE)
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC Analog watchdog interrupt */
2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD);
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
ARM GAS /tmp/ccbNWEOT.s page 38
2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC Analog watchdog interrupt */
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_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 ****
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If a conversion is on going on regular group, no update could be done */
2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* on neither of the AWD configuration structure parameters. */
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
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 **** /** @defgroup ADC_Exported_Functions_Group4 Peripheral State functions
2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Peripheral State functions
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Peripheral State and Errors functions #####
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This subsection provides functions to get in run-time the status of the
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** peripheral.
2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Check the ADC state
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Check the ADC error code
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Return the ADC state
2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note ADC state machine is managed by bitfields, ADC status must be
2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * compared with states bits.
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For example:
2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_REG_BUSY)) "
2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_AWD1) ) "
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL state
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
ARM GAS /tmp/ccbNWEOT.s page 39
2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc)
2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->State;
2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Return the ADC error code
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval ADC Error Code
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc)
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->ErrorCode;
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
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 **** /** @defgroup ADC_Private_Functions ADC Private Functions
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 **** * @brief Enable the selected ADC.
2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC must be disabled
2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * and voltage regulator must be enabled (done into HAL_ADC_Init()).
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note If low power mode AutoPowerOff is enabled, power-on/off phases are
2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * performed automatically by hardware.
2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * In this mode, this function is useless and must not be called because
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * flag ADC_FLAG_RDY is not usable.
2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Therefore, this function must be called under condition of
2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "if (hadc->Init.LowPowerAutoPowerOff != ENABLE)".
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc)
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC enable and wait for ADC ready (in case of ADC is disabled or */
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enabling phase not yet completed: flag ADC ready not yet set). */
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Timeout implemented to not be stuck if ADC cannot be enabled (possible */
2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* causes: ADC clock not running, ...). */
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) == RESET)
2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if conditions to enable the ADC are fulfilled */
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_ENABLING_CONDITIONS(hadc) == RESET)
ARM GAS /tmp/ccbNWEOT.s page 40
2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc);
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for ADC stabilization time */
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U));
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index--;
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for ADC effectively enabled */
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET)
2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_ENABLE_TIMEOUT)
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
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 **** * @brief Disable the selected ADC.
2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC conversions must be
2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * stopped.
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc)
2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification if ADC is not already disabled: */
ARM GAS /tmp/ccbNWEOT.s page 41
2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: forbidden to disable ADC (set bit ADC_CR_ADDIS) if ADC is already */
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* disabled. */
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) != RESET)
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if conditions to disable the ADC are fulfilled */
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_DISABLING_CONDITIONS(hadc) != RESET)
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC peripheral */
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc);
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for ADC effectively disabled */
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADEN))
2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_DISABLE_TIMEOUT)
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion.
2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC conversions must be
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * stopped to disable the ADC.
2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc)
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
25 .loc 1 2311 0
26 .cfi_startproc
27 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccbNWEOT.s page 42
28 @ frame_needed = 0, uses_anonymous_args = 0
29 .LVL0:
30 0000 70B5 push {r4, r5, r6, lr}
31 .LCFI0:
32 .cfi_def_cfa_offset 16
33 .cfi_offset 4, -16
34 .cfi_offset 5, -12
35 .cfi_offset 6, -8
36 .cfi_offset 14, -4
37 0002 0400 movs r4, r0
38 .LVL1:
2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification if ADC is not already stopped on regular group to bypass */
2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* this function if not needed. */
2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc))
39 .loc 1 2319 0
40 0004 0368 ldr r3, [r0]
41 0006 9A68 ldr r2, [r3, #8]
42 0008 5207 lsls r2, r2, #29
43 000a 21D5 bpl .L6
2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop potential conversion on going on regular group */
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Software is allowed to set ADSTP only when ADSTART=1 and ADDIS=0 */
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADSTART) &&
44 .loc 1 2324 0
45 000c 9A68 ldr r2, [r3, #8]
46 000e 5207 lsls r2, r2, #29
47 0010 06D5 bpl .L3
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) )
48 .loc 1 2325 0 discriminator 1
49 0012 9A68 ldr r2, [r3, #8]
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) )
50 .loc 1 2324 0 discriminator 1
51 0014 9207 lsls r2, r2, #30
52 0016 03D4 bmi .L3
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop conversions on regular group */
2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTP;
53 .loc 1 2328 0
54 0018 9A68 ldr r2, [r3, #8]
55 001a 1021 movs r1, #16
56 001c 0A43 orrs r2, r1
57 001e 9A60 str r2, [r3, #8]
58 .L3:
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for conversion effectively stopped */
2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
59 .loc 1 2333 0
60 0020 FFF7FEFF bl HAL_GetTick
61 .LVL2:
ARM GAS /tmp/ccbNWEOT.s page 43
62 0024 0500 movs r5, r0
63 .LVL3:
64 .L4:
2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while((hadc->Instance->CR & ADC_CR_ADSTART) != RESET)
65 .loc 1 2335 0
66 0026 2368 ldr r3, [r4]
67 0028 9B68 ldr r3, [r3, #8]
68 002a 5B07 lsls r3, r3, #29
69 002c 0ED5 bpl .L7
2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_STOP_CONVERSION_TIMEOUT)
70 .loc 1 2337 0
71 002e FFF7FEFF bl HAL_GetTick
72 .LVL4:
73 0032 401B subs r0, r0, r5
74 0034 0228 cmp r0, #2
75 0036 F6D9 bls .L4
2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
76 .loc 1 2340 0
77 0038 A36B ldr r3, [r4, #56]
78 003a 1022 movs r2, #16
79 003c 1343 orrs r3, r2
80 003e A363 str r3, [r4, #56]
2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
81 .loc 1 2343 0
82 0040 E36B ldr r3, [r4, #60]
83 0042 0F3A subs r2, r2, #15
84 0044 1343 orrs r3, r2
85 0046 E363 str r3, [r4, #60]
2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
86 .loc 1 2345 0
87 0048 0120 movs r0, #1
88 004a 02E0 b .L2
89 .L7:
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
90 .loc 1 2352 0
91 004c 0020 movs r0, #0
92 004e 00E0 b .L2
93 .LVL5:
94 .L6:
95 0050 0020 movs r0, #0
96 .LVL6:
97 .L2:
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
98 .loc 1 2353 0
ARM GAS /tmp/ccbNWEOT.s page 44
99 @ sp needed
100 .LVL7:
101 0052 70BD pop {r4, r5, r6, pc}
102 .cfi_endproc
103 .LFE64:
105 .section .text.ADC_Disable,"ax",%progbits
106 .align 1
107 .syntax unified
108 .code 16
109 .thumb_func
110 .fpu softvfp
112 ADC_Disable:
113 .LFB63:
2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
114 .loc 1 2254 0
115 .cfi_startproc
116 @ args = 0, pretend = 0, frame = 0
117 @ frame_needed = 0, uses_anonymous_args = 0
118 .LVL8:
119 0000 70B5 push {r4, r5, r6, lr}
120 .LCFI1:
121 .cfi_def_cfa_offset 16
122 .cfi_offset 4, -16
123 .cfi_offset 5, -12
124 .cfi_offset 6, -8
125 .cfi_offset 14, -4
126 0002 0400 movs r4, r0
127 .LVL9:
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
128 .loc 1 2260 0
129 0004 0268 ldr r2, [r0]
130 0006 9168 ldr r1, [r2, #8]
131 0008 0323 movs r3, #3
132 000a 0B40 ands r3, r1
133 000c 012B cmp r3, #1
134 000e 01D0 beq .L16
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
135 .loc 1 2299 0
136 0010 0020 movs r0, #0
137 .LVL10:
138 .L9:
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
139 .loc 1 2300 0
140 @ sp needed
141 .LVL11:
142 0012 70BD pop {r4, r5, r6, pc}
143 .LVL12:
144 .L16:
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
145 .loc 1 2260 0 discriminator 1
146 0014 1368 ldr r3, [r2]
147 0016 DB07 lsls r3, r3, #31
148 0018 02D4 bmi .L10
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
149 .loc 1 2260 0 is_stmt 0 discriminator 4
150 001a D368 ldr r3, [r2, #12]
151 001c 1B04 lsls r3, r3, #16
ARM GAS /tmp/ccbNWEOT.s page 45
152 001e 2DD5 bpl .L15
153 .L10:
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
154 .loc 1 2263 0 is_stmt 1
155 0020 9168 ldr r1, [r2, #8]
156 0022 0523 movs r3, #5
157 0024 0B40 ands r3, r1
158 0026 012B cmp r3, #1
159 0028 09D0 beq .L17
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
160 .loc 1 2271 0
161 002a A36B ldr r3, [r4, #56]
162 002c 1022 movs r2, #16
163 002e 1343 orrs r3, r2
164 0030 A363 str r3, [r4, #56]
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
165 .loc 1 2274 0
166 0032 E36B ldr r3, [r4, #60]
167 0034 0F3A subs r2, r2, #15
168 0036 1343 orrs r3, r2
169 0038 E363 str r3, [r4, #60]
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
170 .loc 1 2276 0
171 003a 0120 movs r0, #1
172 .LVL13:
173 003c E9E7 b .L9
174 .LVL14:
175 .L17:
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
176 .loc 1 2266 0
177 003e 9368 ldr r3, [r2, #8]
178 0040 0221 movs r1, #2
179 0042 0B43 orrs r3, r1
180 0044 9360 str r3, [r2, #8]
181 0046 2368 ldr r3, [r4]
182 0048 0322 movs r2, #3
183 004a 1A60 str r2, [r3]
2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
184 .loc 1 2281 0
185 004c FFF7FEFF bl HAL_GetTick
186 .LVL15:
187 0050 0500 movs r5, r0
188 .LVL16:
189 .L12:
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
190 .loc 1 2283 0
191 0052 2368 ldr r3, [r4]
192 0054 9B68 ldr r3, [r3, #8]
193 0056 DB07 lsls r3, r3, #31
194 0058 0ED5 bpl .L18
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
195 .loc 1 2285 0
196 005a FFF7FEFF bl HAL_GetTick
197 .LVL17:
198 005e 401B subs r0, r0, r5
199 0060 0228 cmp r0, #2
200 0062 F6D9 bls .L12
ARM GAS /tmp/ccbNWEOT.s page 46
2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
201 .loc 1 2288 0
202 0064 A36B ldr r3, [r4, #56]
203 0066 1022 movs r2, #16
204 0068 1343 orrs r3, r2
205 006a A363 str r3, [r4, #56]
2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
206 .loc 1 2291 0
207 006c E36B ldr r3, [r4, #60]
208 006e 0F3A subs r2, r2, #15
209 0070 1343 orrs r3, r2
210 0072 E363 str r3, [r4, #60]
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
211 .loc 1 2293 0
212 0074 0120 movs r0, #1
213 0076 CCE7 b .L9
214 .L18:
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
215 .loc 1 2299 0
216 0078 0020 movs r0, #0
217 007a CAE7 b .L9
218 .LVL18:
219 .L15:
220 007c 0020 movs r0, #0
221 .LVL19:
222 007e C8E7 b .L9
223 .cfi_endproc
224 .LFE63:
226 .global __aeabi_uidiv
227 .section .text.ADC_Enable,"ax",%progbits
228 .align 1
229 .syntax unified
230 .code 16
231 .thumb_func
232 .fpu softvfp
234 ADC_Enable:
235 .LFB62:
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
236 .loc 1 2189 0
237 .cfi_startproc
238 @ args = 0, pretend = 0, frame = 8
239 @ frame_needed = 0, uses_anonymous_args = 0
240 .LVL20:
241 0000 30B5 push {r4, r5, lr}
242 .LCFI2:
243 .cfi_def_cfa_offset 12
244 .cfi_offset 4, -12
245 .cfi_offset 5, -8
246 .cfi_offset 14, -4
247 0002 83B0 sub sp, sp, #12
248 .LCFI3:
249 .cfi_def_cfa_offset 24
250 0004 0400 movs r4, r0
251 .LVL21:
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
252 .loc 1 2191 0
253 0006 0023 movs r3, #0
ARM GAS /tmp/ccbNWEOT.s page 47
254 0008 0193 str r3, [sp, #4]
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
255 .loc 1 2197 0
256 000a 0368 ldr r3, [r0]
257 000c 9968 ldr r1, [r3, #8]
258 000e 0322 movs r2, #3
259 0010 0A40 ands r2, r1
260 0012 012A cmp r2, #1
261 0014 0ED0 beq .L29
262 .L20:
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
263 .loc 1 2200 0
264 0016 9968 ldr r1, [r3, #8]
265 0018 204A ldr r2, .L32
266 001a 1142 tst r1, r2
267 001c 12D1 bne .L30
2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
268 .loc 1 2212 0
269 001e 9A68 ldr r2, [r3, #8]
270 0020 0121 movs r1, #1
271 0022 0A43 orrs r2, r1
272 0024 9A60 str r2, [r3, #8]
2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
273 .loc 1 2216 0
274 0026 1E4B ldr r3, .L32+4
275 0028 1868 ldr r0, [r3]
276 .LVL22:
277 002a 1E49 ldr r1, .L32+8
278 002c FFF7FEFF bl __aeabi_uidiv
279 .LVL23:
280 0030 0190 str r0, [sp, #4]
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
281 .loc 1 2217 0
282 0032 15E0 b .L23
283 .LVL24:
284 .L29:
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
285 .loc 1 2197 0 discriminator 1
286 0034 1A68 ldr r2, [r3]
287 0036 D207 lsls r2, r2, #31
288 0038 2DD4 bmi .L27
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
289 .loc 1 2197 0 is_stmt 0 discriminator 4
290 003a DA68 ldr r2, [r3, #12]
291 003c 1204 lsls r2, r2, #16
292 003e EAD5 bpl .L20
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
293 .loc 1 2243 0 is_stmt 1
294 0040 0020 movs r0, #0
295 .LVL25:
296 0042 08E0 b .L21
297 .LVL26:
298 .L30:
2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
299 .loc 1 2203 0
300 0044 A36B ldr r3, [r4, #56]
301 0046 1022 movs r2, #16
ARM GAS /tmp/ccbNWEOT.s page 48
302 0048 1343 orrs r3, r2
303 004a A363 str r3, [r4, #56]
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
304 .loc 1 2206 0
305 004c E36B ldr r3, [r4, #60]
306 004e 0F3A subs r2, r2, #15
307 0050 1343 orrs r3, r2
308 0052 E363 str r3, [r4, #60]
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
309 .loc 1 2208 0
310 0054 0120 movs r0, #1
311 .LVL27:
312 .L21:
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
313 .loc 1 2244 0
314 0056 03B0 add sp, sp, #12
315 @ sp needed
316 .LVL28:
317 0058 30BD pop {r4, r5, pc}
318 .LVL29:
319 .L24:
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
320 .loc 1 2219 0
321 005a 019B ldr r3, [sp, #4]
322 005c 013B subs r3, r3, #1
323 005e 0193 str r3, [sp, #4]
324 .L23:
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
325 .loc 1 2217 0
326 0060 019B ldr r3, [sp, #4]
327 0062 002B cmp r3, #0
328 0064 F9D1 bne .L24
2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
329 .loc 1 2223 0
330 0066 FFF7FEFF bl HAL_GetTick
331 .LVL30:
332 006a 0500 movs r5, r0
333 .LVL31:
334 .L25:
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
335 .loc 1 2226 0
336 006c 2368 ldr r3, [r4]
337 006e 1B68 ldr r3, [r3]
338 0070 DB07 lsls r3, r3, #31
339 0072 0ED4 bmi .L31
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
340 .loc 1 2228 0
341 0074 FFF7FEFF bl HAL_GetTick
342 .LVL32:
343 0078 401B subs r0, r0, r5
344 007a 0228 cmp r0, #2
345 007c F6D9 bls .L25
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
346 .loc 1 2231 0
347 007e A36B ldr r3, [r4, #56]
348 0080 1022 movs r2, #16
349 0082 1343 orrs r3, r2
ARM GAS /tmp/ccbNWEOT.s page 49
350 0084 A363 str r3, [r4, #56]
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
351 .loc 1 2234 0
352 0086 E36B ldr r3, [r4, #60]
353 0088 0F3A subs r2, r2, #15
354 008a 1343 orrs r3, r2
355 008c E363 str r3, [r4, #60]
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
356 .loc 1 2236 0
357 008e 0120 movs r0, #1
358 0090 E1E7 b .L21
359 .L31:
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
360 .loc 1 2243 0
361 0092 0020 movs r0, #0
362 0094 DFE7 b .L21
363 .LVL33:
364 .L27:
365 0096 0020 movs r0, #0
366 .LVL34:
367 0098 DDE7 b .L21
368 .L33:
369 009a C046 .align 2
370 .L32:
371 009c 17000080 .word -2147483625
372 00a0 00000000 .word SystemCoreClock
373 00a4 40420F00 .word 1000000
374 .cfi_endproc
375 .LFE62:
377 .section .text.HAL_ADC_MspInit,"ax",%progbits
378 .align 1
379 .weak HAL_ADC_MspInit
380 .syntax unified
381 .code 16
382 .thumb_func
383 .fpu softvfp
385 HAL_ADC_MspInit:
386 .LFB42:
775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
387 .loc 1 775 0
388 .cfi_startproc
389 @ args = 0, pretend = 0, frame = 0
390 @ frame_needed = 0, uses_anonymous_args = 0
391 @ link register save eliminated.
392 .LVL35:
782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
393 .loc 1 782 0
394 @ sp needed
395 0000 7047 bx lr
396 .cfi_endproc
397 .LFE42:
399 .section .text.HAL_ADC_Init,"ax",%progbits
400 .align 1
401 .global HAL_ADC_Init
402 .syntax unified
403 .code 16
404 .thumb_func
ARM GAS /tmp/ccbNWEOT.s page 50
405 .fpu softvfp
407 HAL_ADC_Init:
408 .LFB40:
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
409 .loc 1 407 0
410 .cfi_startproc
411 @ args = 0, pretend = 0, frame = 0
412 @ frame_needed = 0, uses_anonymous_args = 0
413 .LVL36:
414 0000 70B5 push {r4, r5, r6, lr}
415 .LCFI4:
416 .cfi_def_cfa_offset 16
417 .cfi_offset 4, -16
418 .cfi_offset 5, -12
419 .cfi_offset 6, -8
420 .cfi_offset 14, -4
421 0002 041E subs r4, r0, #0
422 .LVL37:
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
423 .loc 1 412 0
424 0004 00D1 bne .LCB388
425 0006 B1E0 b .L49 @long jump
426 .LCB388:
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
427 .loc 1 441 0
428 0008 836B ldr r3, [r0, #56]
429 000a 002B cmp r3, #0
430 000c 7ED0 beq .L51
431 .LVL38:
432 .L37:
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) &&
433 .loc 1 474 0
434 000e A36B ldr r3, [r4, #56]
435 0010 DB06 lsls r3, r3, #27
436 0012 00D5 bpl .LCB398
437 0014 A4E0 b .L38 @long jump
438 .LCB398:
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
439 .loc 1 476 0
440 0016 2168 ldr r1, [r4]
441 0018 8B68 ldr r3, [r1, #8]
442 001a 0422 movs r2, #4
443 001c 1A40 ands r2, r3
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) )
444 .loc 1 475 0
445 001e 00D0 beq .LCB404
446 0020 9EE0 b .L38 @long jump
447 .LCB404:
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
448 .loc 1 479 0
449 0022 A36B ldr r3, [r4, #56]
450 0024 5248 ldr r0, .L56
451 0026 0340 ands r3, r0
452 0028 0630 adds r0, r0, #6
453 002a FF30 adds r0, r0, #255
454 002c 0343 orrs r3, r0
455 002e A363 str r3, [r4, #56]
ARM GAS /tmp/ccbNWEOT.s page 51
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
456 .loc 1 488 0
457 0030 8868 ldr r0, [r1, #8]
458 0032 0323 movs r3, #3
459 0034 0340 ands r3, r0
460 0036 012B cmp r3, #1
461 0038 6ED0 beq .L52
462 .L39:
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_RES ,
463 .loc 1 499 0
464 003a CB68 ldr r3, [r1, #12]
465 003c 1820 movs r0, #24
466 003e 8343 bics r3, r0
467 0040 A068 ldr r0, [r4, #8]
468 0042 0343 orrs r3, r0
469 0044 CB60 str r3, [r1, #12]
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR2_CKMODE ,
470 .loc 1 505 0
471 0046 2168 ldr r1, [r4]
472 0048 0B69 ldr r3, [r1, #16]
473 004a 9B00 lsls r3, r3, #2
474 004c 9B08 lsrs r3, r3, #2
475 004e 6068 ldr r0, [r4, #4]
476 0050 0343 orrs r3, r0
477 0052 0B61 str r3, [r1, #16]
478 .L40:
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF |
479 .loc 1 522 0
480 0054 2168 ldr r1, [r4]
481 0056 CB68 ldr r3, [r1, #12]
482 0058 4648 ldr r0, .L56+4
483 005a 0340 ands r3, r0
484 005c CB60 str r3, [r1, #12]
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) |
485 .loc 1 533 0
486 005e 237E ldrb r3, [r4, #24]
487 0060 9B03 lsls r3, r3, #14
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) |
488 .loc 1 534 0
489 0062 617E ldrb r1, [r4, #25]
490 0064 C903 lsls r1, r1, #15
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) |
491 .loc 1 533 0
492 0066 0B43 orrs r3, r1
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) |
493 .loc 1 535 0
494 0068 A17E ldrb r1, [r4, #26]
495 006a 4803 lsls r0, r1, #13
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) |
496 .loc 1 534 0
497 006c 0343 orrs r3, r0
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
498 .loc 1 536 0
499 006e A06A ldr r0, [r4, #40]
500 0070 0128 cmp r0, #1
501 0072 58D0 beq .L50
502 0074 8020 movs r0, #128
ARM GAS /tmp/ccbNWEOT.s page 52
503 0076 4001 lsls r0, r0, #5
504 .L41:
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) |
505 .loc 1 535 0
506 0078 0343 orrs r3, r0
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
507 .loc 1 536 0
508 007a E068 ldr r0, [r4, #12]
509 007c 0343 orrs r3, r0
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
510 .loc 1 538 0
511 007e 2069 ldr r0, [r4, #16]
512 0080 0228 cmp r0, #2
513 0082 52D0 beq .L53
514 .L42:
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_SCANDIR(hadc->Init.ScanConvMode) |
515 .loc 1 537 0
516 0084 1343 orrs r3, r2
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
517 .loc 1 539 0
518 0086 2422 movs r2, #36
519 0088 A25C ldrb r2, [r4, r2]
520 008a 5200 lsls r2, r2, #1
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
521 .loc 1 538 0
522 008c 1343 orrs r3, r2
523 .LVL39:
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
524 .loc 1 542 0
525 008e E27E ldrb r2, [r4, #27]
526 0090 012A cmp r2, #1
527 0092 4CD0 beq .L54
528 .L43:
568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
529 .loc 1 568 0
530 0094 E269 ldr r2, [r4, #28]
531 0096 C221 movs r1, #194
532 0098 FF31 adds r1, r1, #255
533 009a 8A42 cmp r2, r1
534 009c 02D0 beq .L45
570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge );
535 .loc 1 570 0
536 009e 216A ldr r1, [r4, #32]
537 00a0 0A43 orrs r2, r1
538 00a2 1343 orrs r3, r2
539 .LVL40:
540 .L45:
575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
541 .loc 1 575 0
542 00a4 2168 ldr r1, [r4]
543 00a6 CA68 ldr r2, [r1, #12]
544 00a8 1A43 orrs r2, r3
545 00aa CA60 str r2, [r1, #12]
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
546 .loc 1 583 0
547 00ac E26A ldr r2, [r4, #44]
548 00ae 8021 movs r1, #128
ARM GAS /tmp/ccbNWEOT.s page 53
549 00b0 4905 lsls r1, r1, #21
550 00b2 8A42 cmp r2, r1
551 00b4 0DD0 beq .L46
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
552 .loc 1 583 0 is_stmt 0 discriminator 1
553 00b6 012A cmp r2, #1
554 00b8 0BD0 beq .L46
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
555 .loc 1 583 0 discriminator 2
556 00ba 022A cmp r2, #2
557 00bc 09D0 beq .L46
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
558 .loc 1 583 0 discriminator 3
559 00be 032A cmp r2, #3
560 00c0 07D0 beq .L46
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
561 .loc 1 583 0 discriminator 4
562 00c2 042A cmp r2, #4
563 00c4 05D0 beq .L46
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
564 .loc 1 583 0 discriminator 5
565 00c6 052A cmp r2, #5
566 00c8 03D0 beq .L46
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
567 .loc 1 583 0 discriminator 6
568 00ca 062A cmp r2, #6
569 00cc 01D0 beq .L46
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
570 .loc 1 583 0 discriminator 7
571 00ce 072A cmp r2, #7
572 00d0 0AD1 bne .L47
573 .L46:
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
574 .loc 1 587 0 is_stmt 1
575 00d2 2068 ldr r0, [r4]
576 00d4 4169 ldr r1, [r0, #20]
577 00d6 0722 movs r2, #7
578 00d8 9143 bics r1, r2
579 00da 4161 str r1, [r0, #20]
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
580 .loc 1 590 0
581 00dc 2068 ldr r0, [r4]
582 00de 4169 ldr r1, [r0, #20]
583 00e0 E56A ldr r5, [r4, #44]
584 00e2 2A40 ands r2, r5
585 00e4 0A43 orrs r2, r1
586 00e6 4261 str r2, [r0, #20]
587 .L47:
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1)
588 .loc 1 598 0
589 00e8 2268 ldr r2, [r4]
590 00ea D268 ldr r2, [r2, #12]
591 00ec 2249 ldr r1, .L56+8
592 00ee 0A40 ands r2, r1
593 00f0 9A42 cmp r2, r3
594 00f2 2BD0 beq .L55
612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
ARM GAS /tmp/ccbNWEOT.s page 54
595 .loc 1 612 0
596 00f4 A36B ldr r3, [r4, #56]
597 .LVL41:
598 00f6 1222 movs r2, #18
599 00f8 9343 bics r3, r2
600 00fa 023A subs r2, r2, #2
601 00fc 1343 orrs r3, r2
602 00fe A363 str r3, [r4, #56]
617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
603 .loc 1 617 0
604 0100 E36B ldr r3, [r4, #60]
605 0102 0F3A subs r2, r2, #15
606 0104 1343 orrs r3, r2
607 0106 E363 str r3, [r4, #60]
608 .LVL42:
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
609 .loc 1 619 0
610 0108 0120 movs r0, #1
611 010a 2EE0 b .L36
612 .LVL43:
613 .L51:
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
614 .loc 1 444 0
615 010c C363 str r3, [r0, #60]
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
616 .loc 1 447 0
617 010e 3422 movs r2, #52
618 0110 8354 strb r3, [r0, r2]
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
619 .loc 1 465 0
620 0112 FFF7FEFF bl HAL_ADC_MspInit
621 .LVL44:
622 0116 7AE7 b .L37
623 .L52:
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
624 .loc 1 488 0 discriminator 1
625 0118 0B68 ldr r3, [r1]
626 011a DB07 lsls r3, r3, #31
627 011c 9AD4 bmi .L40
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
628 .loc 1 488 0 is_stmt 0 discriminator 4
629 011e CB68 ldr r3, [r1, #12]
630 0120 1B04 lsls r3, r3, #16
631 0122 97D4 bmi .L40
632 0124 89E7 b .L39
633 .L50:
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
634 .loc 1 536 0 is_stmt 1
635 0126 1000 movs r0, r2
636 0128 A6E7 b .L41
637 .L53:
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
638 .loc 1 538 0
639 012a 0422 movs r2, #4
640 012c AAE7 b .L42
641 .LVL45:
642 .L54:
ARM GAS /tmp/ccbNWEOT.s page 55
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
643 .loc 1 544 0
644 012e 0029 cmp r1, #0
645 0130 03D1 bne .L44
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
646 .loc 1 547 0
647 0132 8022 movs r2, #128
648 0134 5202 lsls r2, r2, #9
649 0136 1343 orrs r3, r2
650 .LVL46:
651 0138 ACE7 b .L43
652 .L44:
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
653 .loc 1 556 0
654 013a A26B ldr r2, [r4, #56]
655 013c 2021 movs r1, #32
656 013e 0A43 orrs r2, r1
657 0140 A263 str r2, [r4, #56]
559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
658 .loc 1 559 0
659 0142 E26B ldr r2, [r4, #60]
660 0144 1F39 subs r1, r1, #31
661 0146 0A43 orrs r2, r1
662 0148 E263 str r2, [r4, #60]
663 014a A3E7 b .L43
664 .L55:
602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
665 .loc 1 602 0
666 014c 0023 movs r3, #0
667 .LVL47:
668 014e E363 str r3, [r4, #60]
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
669 .loc 1 605 0
670 0150 A36B ldr r3, [r4, #56]
671 0152 0322 movs r2, #3
672 0154 9343 bics r3, r2
673 0156 023A subs r2, r2, #2
674 0158 1343 orrs r3, r2
675 015a A363 str r3, [r4, #56]
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpCFGR1 = 0U;
676 .loc 1 408 0
677 015c 0020 movs r0, #0
678 015e 04E0 b .L36
679 .LVL48:
680 .L38:
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
681 .loc 1 626 0
682 0160 A36B ldr r3, [r4, #56]
683 0162 1022 movs r2, #16
684 0164 1343 orrs r3, r2
685 0166 A363 str r3, [r4, #56]
686 .LVL49:
628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
687 .loc 1 628 0
688 0168 0120 movs r0, #1
689 .LVL50:
690 .L36:
ARM GAS /tmp/ccbNWEOT.s page 56
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
691 .loc 1 633 0
692 @ sp needed
693 .LVL51:
694 016a 70BD pop {r4, r5, r6, pc}
695 .LVL52:
696 .L49:
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
697 .loc 1 414 0
698 016c 0120 movs r0, #1
699 .LVL53:
700 016e FCE7 b .L36
701 .L57:
702 .align 2
703 .L56:
704 0170 FDFEFFFF .word -259
705 0174 1902FEFF .word -130535
706 0178 E7FF3F83 .word -2092957721
707 .cfi_endproc
708 .LFE40:
710 .section .text.HAL_ADC_MspDeInit,"ax",%progbits
711 .align 1
712 .weak HAL_ADC_MspDeInit
713 .syntax unified
714 .code 16
715 .thumb_func
716 .fpu softvfp
718 HAL_ADC_MspDeInit:
719 .LFB43:
790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
720 .loc 1 790 0
721 .cfi_startproc
722 @ args = 0, pretend = 0, frame = 0
723 @ frame_needed = 0, uses_anonymous_args = 0
724 @ link register save eliminated.
725 .LVL54:
797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
726 .loc 1 797 0
727 @ sp needed
728 0000 7047 bx lr
729 .cfi_endproc
730 .LFE43:
732 .section .text.HAL_ADC_DeInit,"ax",%progbits
733 .align 1
734 .global HAL_ADC_DeInit
735 .syntax unified
736 .code 16
737 .thumb_func
738 .fpu softvfp
740 HAL_ADC_DeInit:
741 .LFB41:
649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
742 .loc 1 649 0
743 .cfi_startproc
744 @ args = 0, pretend = 0, frame = 0
745 @ frame_needed = 0, uses_anonymous_args = 0
746 .LVL55:
ARM GAS /tmp/ccbNWEOT.s page 57
747 0000 70B5 push {r4, r5, r6, lr}
748 .LCFI5:
749 .cfi_def_cfa_offset 16
750 .cfi_offset 4, -16
751 .cfi_offset 5, -12
752 .cfi_offset 6, -8
753 .cfi_offset 14, -4
754 0002 041E subs r4, r0, #0
755 .LVL56:
653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
756 .loc 1 653 0
757 0004 43D0 beq .L63
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
758 .loc 1 662 0
759 0006 836B ldr r3, [r0, #56]
760 0008 0222 movs r2, #2
761 000a 1343 orrs r3, r2
762 000c 8363 str r3, [r0, #56]
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
763 .loc 1 665 0
764 000e FFF7FEFF bl ADC_ConversionStop
765 .LVL57:
766 0012 051E subs r5, r0, #0
767 .LVL58:
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
768 .loc 1 668 0
769 0014 06D0 beq .L64
770 .LVL59:
771 .L61:
684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
772 .loc 1 684 0
773 0016 012D cmp r5, #1
774 0018 0DD1 bne .L65
775 .L62:
762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
776 .loc 1 762 0
777 001a 3423 movs r3, #52
778 001c 0022 movs r2, #0
779 001e E254 strb r2, [r4, r3]
780 .LVL60:
781 .L60:
766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
782 .loc 1 766 0
783 0020 2800 movs r0, r5
784 @ sp needed
785 .LVL61:
786 0022 70BD pop {r4, r5, r6, pc}
787 .LVL62:
788 .L64:
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
789 .loc 1 671 0
790 0024 2000 movs r0, r4
791 .LVL63:
792 0026 FFF7FEFF bl ADC_Disable
793 .LVL64:
794 002a 0500 movs r5, r0
795 .LVL65:
ARM GAS /tmp/ccbNWEOT.s page 58
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
796 .loc 1 674 0
797 002c 0128 cmp r0, #1
798 002e F2D0 beq .L61
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
799 .loc 1 677 0
800 0030 0123 movs r3, #1
801 0032 A363 str r3, [r4, #56]
802 0034 EFE7 b .L61
803 .LVL66:
804 .L65:
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOS | ADC_IT_EOC |
805 .loc 1 689 0
806 0036 2168 ldr r1, [r4]
807 0038 4B68 ldr r3, [r1, #4]
808 003a 9F22 movs r2, #159
809 003c 9343 bics r3, r2
810 003e 4B60 str r3, [r1, #4]
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOS | ADC_FLAG_EOC |
811 .loc 1 694 0
812 0040 2368 ldr r3, [r4]
813 0042 1A60 str r2, [r3]
703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_
814 .loc 1 703 0
815 0044 2268 ldr r2, [r4]
816 0046 D368 ldr r3, [r2, #12]
817 0048 1249 ldr r1, .L66
818 004a 0B40 ands r3, r1
819 004c D360 str r3, [r2, #12]
711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
820 .loc 1 711 0
821 004e 2268 ldr r2, [r4]
822 0050 1369 ldr r3, [r2, #16]
823 0052 9B00 lsls r3, r3, #2
824 0054 9B08 lsrs r3, r3, #2
825 0056 1361 str r3, [r2, #16]
714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
826 .loc 1 714 0
827 0058 2268 ldr r2, [r4]
828 005a 5369 ldr r3, [r2, #20]
829 005c 0721 movs r1, #7
830 005e 8B43 bics r3, r1
831 0060 5361 str r3, [r2, #20]
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
832 .loc 1 717 0
833 0062 2268 ldr r2, [r4]
834 0064 136A ldr r3, [r2, #32]
835 0066 0C49 ldr r1, .L66+4
836 0068 0B40 ands r3, r1
837 006a 1362 str r3, [r2, #32]
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_
838 .loc 1 720 0
839 006c 2268 ldr r2, [r4]
840 006e 936A ldr r3, [r2, #40]
841 0070 DB0C lsrs r3, r3, #19
842 0072 DB04 lsls r3, r3, #19
843 0074 9362 str r3, [r2, #40]
ARM GAS /tmp/ccbNWEOT.s page 59
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
844 .loc 1 730 0
845 0076 094A ldr r2, .L66+8
846 0078 1368 ldr r3, [r2]
847 007a 0949 ldr r1, .L66+12
848 007c 0B40 ands r3, r1
849 007e 1360 str r3, [r2]
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
850 .loc 1 751 0
851 0080 2000 movs r0, r4
852 0082 FFF7FEFF bl HAL_ADC_MspDeInit
853 .LVL67:
755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
854 .loc 1 755 0
855 0086 0023 movs r3, #0
856 0088 E363 str r3, [r4, #60]
758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
857 .loc 1 758 0
858 008a A363 str r3, [r4, #56]
859 008c C5E7 b .L62
860 .LVL68:
861 .L63:
655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
862 .loc 1 655 0
863 008e 0125 movs r5, #1
864 0090 C6E7 b .L60
865 .L67:
866 0092 C046 .align 2
867 .L66:
868 0094 00023E83 .word -2093088256
869 0098 00F000F0 .word -268374016
870 009c 08270140 .word 1073817352
871 00a0 FFFF3FFE .word -29360129
872 .cfi_endproc
873 .LFE41:
875 .section .text.HAL_ADC_Start,"ax",%progbits
876 .align 1
877 .global HAL_ADC_Start
878 .syntax unified
879 .code 16
880 .thumb_func
881 .fpu softvfp
883 HAL_ADC_Start:
884 .LFB44:
1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
885 .loc 1 1028 0
886 .cfi_startproc
887 @ args = 0, pretend = 0, frame = 0
888 @ frame_needed = 0, uses_anonymous_args = 0
889 .LVL69:
890 0000 10B5 push {r4, lr}
891 .LCFI6:
892 .cfi_def_cfa_offset 8
893 .cfi_offset 4, -8
894 .cfi_offset 14, -4
895 0002 0400 movs r4, r0
896 .LVL70:
ARM GAS /tmp/ccbNWEOT.s page 60
1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
897 .loc 1 1035 0
898 0004 0368 ldr r3, [r0]
899 0006 9B68 ldr r3, [r3, #8]
900 0008 5B07 lsls r3, r3, #29
901 000a 23D4 bmi .L71
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
902 .loc 1 1038 0
903 000c 3423 movs r3, #52
904 000e C35C ldrb r3, [r0, r3]
905 0010 012B cmp r3, #1
906 0012 21D0 beq .L72
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
907 .loc 1 1038 0 is_stmt 0 discriminator 2
908 0014 3423 movs r3, #52
909 0016 0122 movs r2, #1
910 0018 C254 strb r2, [r0, r3]
1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
911 .loc 1 1043 0 is_stmt 1 discriminator 2
912 001a 437E ldrb r3, [r0, #25]
913 001c 012B cmp r3, #1
914 001e 14D1 bne .L74
1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
915 .loc 1 1029 0
916 0020 0020 movs r0, #0
917 .LVL71:
918 .L70:
1054: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
919 .loc 1 1054 0
920 0022 A36B ldr r3, [r4, #56]
921 0024 0D4A ldr r2, .L75
922 0026 1A40 ands r2, r3
923 0028 8023 movs r3, #128
924 002a 5B00 lsls r3, r3, #1
925 002c 1343 orrs r3, r2
926 002e A363 str r3, [r4, #56]
1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
927 .loc 1 1059 0
928 0030 0023 movs r3, #0
929 0032 E363 str r3, [r4, #60]
1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
930 .loc 1 1064 0
931 0034 3422 movs r2, #52
932 0036 A354 strb r3, [r4, r2]
1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
933 .loc 1 1069 0
934 0038 2368 ldr r3, [r4]
935 003a 183A subs r2, r2, #24
936 003c 1A60 str r2, [r3]
1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
937 .loc 1 1075 0
938 003e 2268 ldr r2, [r4]
939 0040 9368 ldr r3, [r2, #8]
940 0042 0421 movs r1, #4
941 0044 0B43 orrs r3, r1
942 0046 9360 str r3, [r2, #8]
943 .L69:
ARM GAS /tmp/ccbNWEOT.s page 61
1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
944 .loc 1 1085 0
945 @ sp needed
946 .LVL72:
947 0048 10BD pop {r4, pc}
948 .LVL73:
949 .L74:
1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
950 .loc 1 1045 0
951 004a FFF7FEFF bl ADC_Enable
952 .LVL74:
1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
953 .loc 1 1049 0
954 004e 0028 cmp r0, #0
955 0050 E7D0 beq .L70
956 0052 F9E7 b .L69
957 .LVL75:
958 .L71:
1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
959 .loc 1 1080 0
960 0054 0220 movs r0, #2
961 .LVL76:
962 0056 F7E7 b .L69
963 .LVL77:
964 .L72:
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
965 .loc 1 1038 0
966 0058 0220 movs r0, #2
967 .LVL78:
968 005a F5E7 b .L69
969 .L76:
970 .align 2
971 .L75:
972 005c FEF0FFFF .word -3842
973 .cfi_endproc
974 .LFE44:
976 .section .text.HAL_ADC_Stop,"ax",%progbits
977 .align 1
978 .global HAL_ADC_Stop
979 .syntax unified
980 .code 16
981 .thumb_func
982 .fpu softvfp
984 HAL_ADC_Stop:
985 .LFB45:
1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
986 .loc 1 1093 0
987 .cfi_startproc
988 @ args = 0, pretend = 0, frame = 0
989 @ frame_needed = 0, uses_anonymous_args = 0
990 .LVL79:
991 0000 10B5 push {r4, lr}
992 .LCFI7:
993 .cfi_def_cfa_offset 8
994 .cfi_offset 4, -8
995 .cfi_offset 14, -4
996 0002 0400 movs r4, r0
ARM GAS /tmp/ccbNWEOT.s page 62
997 .LVL80:
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
998 .loc 1 1100 0
999 0004 3423 movs r3, #52
1000 0006 C35C ldrb r3, [r0, r3]
1001 0008 012B cmp r3, #1
1002 000a 17D0 beq .L80
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1003 .loc 1 1100 0 is_stmt 0 discriminator 2
1004 000c 3423 movs r3, #52
1005 000e 0122 movs r2, #1
1006 0010 C254 strb r2, [r0, r3]
1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1007 .loc 1 1103 0 is_stmt 1 discriminator 2
1008 0012 FFF7FEFF bl ADC_ConversionStop
1009 .LVL81:
1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1010 .loc 1 1106 0 discriminator 2
1011 0016 0028 cmp r0, #0
1012 0018 03D0 beq .L81
1013 .LVL82:
1014 .L79:
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1015 .loc 1 1122 0
1016 001a 3423 movs r3, #52
1017 001c 0022 movs r2, #0
1018 001e E254 strb r2, [r4, r3]
1019 .LVL83:
1020 .L78:
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1021 .loc 1 1126 0
1022 @ sp needed
1023 .LVL84:
1024 0020 10BD pop {r4, pc}
1025 .LVL85:
1026 .L81:
1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1027 .loc 1 1109 0
1028 0022 2000 movs r0, r4
1029 .LVL86:
1030 0024 FFF7FEFF bl ADC_Disable
1031 .LVL87:
1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1032 .loc 1 1112 0
1033 0028 0028 cmp r0, #0
1034 002a F6D1 bne .L79
1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1035 .loc 1 1115 0
1036 002c A36B ldr r3, [r4, #56]
1037 002e 044A ldr r2, .L82
1038 0030 1340 ands r3, r2
1039 0032 0432 adds r2, r2, #4
1040 0034 FF32 adds r2, r2, #255
1041 0036 1343 orrs r3, r2
1042 0038 A363 str r3, [r4, #56]
1043 003a EEE7 b .L79
1044 .LVL88:
ARM GAS /tmp/ccbNWEOT.s page 63
1045 .L80:
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1046 .loc 1 1100 0
1047 003c 0220 movs r0, #2
1048 .LVL89:
1049 003e EFE7 b .L78
1050 .L83:
1051 .align 2
1052 .L82:
1053 0040 FEFEFFFF .word -258
1054 .cfi_endproc
1055 .LFE45:
1057 .section .text.HAL_ADC_PollForConversion,"ax",%progbits
1058 .align 1
1059 .global HAL_ADC_PollForConversion
1060 .syntax unified
1061 .code 16
1062 .thumb_func
1063 .fpu softvfp
1065 HAL_ADC_PollForConversion:
1066 .LFB46:
1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart;
1067 .loc 1 1147 0
1068 .cfi_startproc
1069 @ args = 0, pretend = 0, frame = 0
1070 @ frame_needed = 0, uses_anonymous_args = 0
1071 .LVL90:
1072 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1073 .LCFI8:
1074 .cfi_def_cfa_offset 24
1075 .cfi_offset 3, -24
1076 .cfi_offset 4, -20
1077 .cfi_offset 5, -16
1078 .cfi_offset 6, -12
1079 .cfi_offset 7, -8
1080 .cfi_offset 14, -4
1081 0002 0400 movs r4, r0
1082 0004 0D00 movs r5, r1
1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1083 .loc 1 1155 0
1084 0006 4369 ldr r3, [r0, #20]
1085 0008 082B cmp r3, #8
1086 000a 26D0 beq .L93
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1087 .loc 1 1168 0
1088 000c 0368 ldr r3, [r0]
1089 000e DB68 ldr r3, [r3, #12]
1090 0010 DB07 lsls r3, r3, #31
1091 0012 19D4 bmi .L96
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1092 .loc 1 1180 0
1093 0014 0C26 movs r6, #12
1094 .L85:
1095 .LVL91:
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1096 .loc 1 1185 0
1097 0016 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccbNWEOT.s page 64
1098 .LVL92:
1099 001a 0700 movs r7, r0
1100 .LVL93:
1101 .L88:
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1102 .loc 1 1188 0
1103 001c 2368 ldr r3, [r4]
1104 001e 1A68 ldr r2, [r3]
1105 0020 1642 tst r6, r2
1106 0022 1CD1 bne .L97
1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1107 .loc 1 1191 0
1108 0024 6B1C adds r3, r5, #1
1109 0026 F9D0 beq .L88
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1110 .loc 1 1193 0
1111 0028 002D cmp r5, #0
1112 002a 04D0 beq .L89
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1113 .loc 1 1193 0 is_stmt 0 discriminator 1
1114 002c FFF7FEFF bl HAL_GetTick
1115 .LVL94:
1116 0030 C01B subs r0, r0, r7
1117 0032 A842 cmp r0, r5
1118 0034 F2D9 bls .L88
1119 .L89:
1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1120 .loc 1 1196 0 is_stmt 1
1121 0036 A36B ldr r3, [r4, #56]
1122 0038 0422 movs r2, #4
1123 003a 1343 orrs r3, r2
1124 003c A363 str r3, [r4, #56]
1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1125 .loc 1 1199 0
1126 003e 3423 movs r3, #52
1127 0040 0022 movs r2, #0
1128 0042 E254 strb r2, [r4, r3]
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1129 .loc 1 1201 0
1130 0044 0320 movs r0, #3
1131 0046 07E0 b .L86
1132 .LVL95:
1133 .L96:
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1134 .loc 1 1171 0
1135 0048 836B ldr r3, [r0, #56]
1136 004a 2022 movs r2, #32
1137 004c 1343 orrs r3, r2
1138 004e 8363 str r3, [r0, #56]
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1139 .loc 1 1174 0
1140 0050 3423 movs r3, #52
1141 0052 0022 movs r2, #0
1142 0054 C254 strb r2, [r0, r3]
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1143 .loc 1 1176 0
1144 0056 0120 movs r0, #1
ARM GAS /tmp/ccbNWEOT.s page 65
1145 .LVL96:
1146 .L86:
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1147 .loc 1 1254 0
1148 @ sp needed
1149 .LVL97:
1150 .LVL98:
1151 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
1152 .LVL99:
1153 .L93:
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1154 .loc 1 1157 0
1155 005a 0826 movs r6, #8
1156 005c DBE7 b .L85
1157 .LVL100:
1158 .L97:
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1159 .loc 1 1207 0
1160 005e A16B ldr r1, [r4, #56]
1161 0060 8022 movs r2, #128
1162 0062 9200 lsls r2, r2, #2
1163 0064 0A43 orrs r2, r1
1164 0066 A263 str r2, [r4, #56]
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
1165 .loc 1 1211 0
1166 0068 D968 ldr r1, [r3, #12]
1167 006a C022 movs r2, #192
1168 006c 1201 lsls r2, r2, #4
1169 006e 1142 tst r1, r2
1170 0070 13D1 bne .L91
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1171 .loc 1 1212 0 discriminator 1
1172 0072 A27E ldrb r2, [r4, #26]
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
1173 .loc 1 1211 0 discriminator 1
1174 0074 002A cmp r2, #0
1175 0076 10D1 bne .L91
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1176 .loc 1 1215 0
1177 0078 1A68 ldr r2, [r3]
1178 007a 1207 lsls r2, r2, #28
1179 007c 0DD5 bpl .L91
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1180 .loc 1 1219 0
1181 007e 9A68 ldr r2, [r3, #8]
1182 0080 5207 lsls r2, r2, #29
1183 0082 12D4 bmi .L92
1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1184 .loc 1 1225 0
1185 0084 5A68 ldr r2, [r3, #4]
1186 0086 0C21 movs r1, #12
1187 0088 8A43 bics r2, r1
1188 008a 5A60 str r2, [r3, #4]
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1189 .loc 1 1228 0
1190 008c A36B ldr r3, [r4, #56]
1191 008e 0C4A ldr r2, .L98
ARM GAS /tmp/ccbNWEOT.s page 66
1192 0090 1340 ands r3, r2
1193 0092 0432 adds r2, r2, #4
1194 0094 FF32 adds r2, r2, #255
1195 0096 1343 orrs r3, r2
1196 0098 A363 str r3, [r4, #56]
1197 .L91:
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1198 .loc 1 1246 0
1199 009a 237E ldrb r3, [r4, #24]
1200 009c 002B cmp r3, #0
1201 009e 0DD1 bne .L95
1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1202 .loc 1 1249 0
1203 00a0 2368 ldr r3, [r4]
1204 00a2 0C22 movs r2, #12
1205 00a4 1A60 str r2, [r3]
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1206 .loc 1 1253 0
1207 00a6 0020 movs r0, #0
1208 00a8 D6E7 b .L86
1209 .L92:
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1210 .loc 1 1235 0
1211 00aa A36B ldr r3, [r4, #56]
1212 00ac 2022 movs r2, #32
1213 00ae 1343 orrs r3, r2
1214 00b0 A363 str r3, [r4, #56]
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1215 .loc 1 1238 0
1216 00b2 E36B ldr r3, [r4, #60]
1217 00b4 1F3A subs r2, r2, #31
1218 00b6 1343 orrs r3, r2
1219 00b8 E363 str r3, [r4, #60]
1220 00ba EEE7 b .L91
1221 .L95:
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1222 .loc 1 1253 0
1223 00bc 0020 movs r0, #0
1224 00be CBE7 b .L86
1225 .L99:
1226 .align 2
1227 .L98:
1228 00c0 FEFEFFFF .word -258
1229 .cfi_endproc
1230 .LFE46:
1232 .section .text.HAL_ADC_PollForEvent,"ax",%progbits
1233 .align 1
1234 .global HAL_ADC_PollForEvent
1235 .syntax unified
1236 .code 16
1237 .thumb_func
1238 .fpu softvfp
1240 HAL_ADC_PollForEvent:
1241 .LFB47:
1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart=0;
1242 .loc 1 1267 0
1243 .cfi_startproc
ARM GAS /tmp/ccbNWEOT.s page 67
1244 @ args = 0, pretend = 0, frame = 0
1245 @ frame_needed = 0, uses_anonymous_args = 0
1246 .LVL101:
1247 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1248 .LCFI9:
1249 .cfi_def_cfa_offset 24
1250 .cfi_offset 3, -24
1251 .cfi_offset 4, -20
1252 .cfi_offset 5, -16
1253 .cfi_offset 6, -12
1254 .cfi_offset 7, -8
1255 .cfi_offset 14, -4
1256 0002 0500 movs r5, r0
1257 0004 0C00 movs r4, r1
1258 0006 1600 movs r6, r2
1259 .LVL102:
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1260 .loc 1 1275 0
1261 0008 FFF7FEFF bl HAL_GetTick
1262 .LVL103:
1263 000c 0700 movs r7, r0
1264 .LVL104:
1265 .L102:
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1266 .loc 1 1278 0
1267 000e 2A68 ldr r2, [r5]
1268 0010 1368 ldr r3, [r2]
1269 0012 2340 ands r3, r4
1270 0014 A342 cmp r3, r4
1271 0016 11D0 beq .L110
1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1272 .loc 1 1281 0
1273 0018 731C adds r3, r6, #1
1274 001a F8D0 beq .L102
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1275 .loc 1 1283 0
1276 001c 002E cmp r6, #0
1277 001e 04D0 beq .L103
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1278 .loc 1 1283 0 is_stmt 0 discriminator 1
1279 0020 FFF7FEFF bl HAL_GetTick
1280 .LVL105:
1281 0024 C01B subs r0, r0, r7
1282 0026 B042 cmp r0, r6
1283 0028 F1D9 bls .L102
1284 .L103:
1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1285 .loc 1 1286 0 is_stmt 1
1286 002a AB6B ldr r3, [r5, #56]
1287 002c 0422 movs r2, #4
1288 002e 1343 orrs r3, r2
1289 0030 AB63 str r3, [r5, #56]
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1290 .loc 1 1289 0
1291 0032 3423 movs r3, #52
1292 0034 0022 movs r2, #0
1293 0036 EA54 strb r2, [r5, r3]
ARM GAS /tmp/ccbNWEOT.s page 68
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1294 .loc 1 1291 0
1295 0038 0320 movs r0, #3
1296 003a 07E0 b .L104
1297 .L110:
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1298 .loc 1 1296 0
1299 003c 802C cmp r4, #128
1300 003e 06D0 beq .L111
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1301 .loc 1 1313 0
1302 0040 AB6A ldr r3, [r5, #40]
1303 0042 012B cmp r3, #1
1304 0044 0CD0 beq .L112
1305 .L108:
1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1306 .loc 1 1323 0
1307 0046 1023 movs r3, #16
1308 0048 1360 str r3, [r2]
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1309 .loc 1 1328 0
1310 004a 0020 movs r0, #0
1311 .L104:
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1312 .loc 1 1329 0
1313 @ sp needed
1314 .LVL106:
1315 .LVL107:
1316 .LVL108:
1317 .LVL109:
1318 004c F8BD pop {r3, r4, r5, r6, r7, pc}
1319 .LVL110:
1320 .L111:
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1321 .loc 1 1301 0
1322 004e A96B ldr r1, [r5, #56]
1323 0050 8023 movs r3, #128
1324 0052 5B02 lsls r3, r3, #9
1325 0054 0B43 orrs r3, r1
1326 0056 AB63 str r3, [r5, #56]
1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1327 .loc 1 1304 0
1328 0058 8023 movs r3, #128
1329 005a 1360 str r3, [r2]
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1330 .loc 1 1328 0
1331 005c 0020 movs r0, #0
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1332 .loc 1 1305 0
1333 005e F5E7 b .L104
1334 .L112:
1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1335 .loc 1 1316 0
1336 0060 A96B ldr r1, [r5, #56]
1337 0062 8023 movs r3, #128
1338 0064 DB00 lsls r3, r3, #3
1339 0066 0B43 orrs r3, r1
ARM GAS /tmp/ccbNWEOT.s page 69
1340 0068 AB63 str r3, [r5, #56]
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1341 .loc 1 1319 0
1342 006a EB6B ldr r3, [r5, #60]
1343 006c 0221 movs r1, #2
1344 006e 0B43 orrs r3, r1
1345 0070 EB63 str r3, [r5, #60]
1346 0072 E8E7 b .L108
1347 .cfi_endproc
1348 .LFE47:
1350 .section .text.HAL_ADC_Start_IT,"ax",%progbits
1351 .align 1
1352 .global HAL_ADC_Start_IT
1353 .syntax unified
1354 .code 16
1355 .thumb_func
1356 .fpu softvfp
1358 HAL_ADC_Start_IT:
1359 .LFB48:
1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1360 .loc 1 1343 0
1361 .cfi_startproc
1362 @ args = 0, pretend = 0, frame = 0
1363 @ frame_needed = 0, uses_anonymous_args = 0
1364 .LVL111:
1365 0000 10B5 push {r4, lr}
1366 .LCFI10:
1367 .cfi_def_cfa_offset 8
1368 .cfi_offset 4, -8
1369 .cfi_offset 14, -4
1370 0002 0400 movs r4, r0
1371 .LVL112:
1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1372 .loc 1 1350 0
1373 0004 0368 ldr r3, [r0]
1374 0006 9B68 ldr r3, [r3, #8]
1375 0008 5B07 lsls r3, r3, #29
1376 000a 36D4 bmi .L119
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1377 .loc 1 1353 0
1378 000c 3423 movs r3, #52
1379 000e C35C ldrb r3, [r0, r3]
1380 0010 012B cmp r3, #1
1381 0012 34D0 beq .L120
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1382 .loc 1 1353 0 is_stmt 0 discriminator 2
1383 0014 3423 movs r3, #52
1384 0016 0122 movs r2, #1
1385 0018 C254 strb r2, [r0, r3]
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1386 .loc 1 1358 0 is_stmt 1 discriminator 2
1387 001a 437E ldrb r3, [r0, #25]
1388 001c 012B cmp r3, #1
1389 001e 21D1 bne .L123
1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1390 .loc 1 1344 0
1391 0020 0020 movs r0, #0
ARM GAS /tmp/ccbNWEOT.s page 70
1392 .LVL113:
1393 .L115:
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
1394 .loc 1 1369 0
1395 0022 A36B ldr r3, [r4, #56]
1396 0024 174A ldr r2, .L124
1397 0026 1A40 ands r2, r3
1398 0028 8023 movs r3, #128
1399 002a 5B00 lsls r3, r3, #1
1400 002c 1343 orrs r3, r2
1401 002e A363 str r3, [r4, #56]
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1402 .loc 1 1374 0
1403 0030 0023 movs r3, #0
1404 0032 E363 str r3, [r4, #60]
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1405 .loc 1 1379 0
1406 0034 3422 movs r2, #52
1407 0036 A354 strb r3, [r4, r2]
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1408 .loc 1 1384 0
1409 0038 2368 ldr r3, [r4]
1410 003a 183A subs r2, r2, #24
1411 003c 1A60 str r2, [r3]
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1412 .loc 1 1388 0
1413 003e 6369 ldr r3, [r4, #20]
1414 0040 082B cmp r3, #8
1415 0042 14D1 bne .L122
1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOS | ADC_IT_OVR));
1416 .loc 1 1391 0
1417 0044 2268 ldr r2, [r4]
1418 0046 5368 ldr r3, [r2, #4]
1419 0048 0421 movs r1, #4
1420 004a 8B43 bics r3, r1
1421 004c 5360 str r3, [r2, #4]
1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1422 .loc 1 1392 0
1423 004e 2268 ldr r2, [r4]
1424 0050 5368 ldr r3, [r2, #4]
1425 0052 1431 adds r1, r1, #20
1426 0054 0B43 orrs r3, r1
1427 0056 5360 str r3, [r2, #4]
1428 .L118:
1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1429 .loc 1 1404 0
1430 0058 2268 ldr r2, [r4]
1431 005a 9368 ldr r3, [r2, #8]
1432 005c 0421 movs r1, #4
1433 005e 0B43 orrs r3, r1
1434 0060 9360 str r3, [r2, #8]
1435 .L114:
1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1436 .loc 1 1414 0
1437 @ sp needed
1438 .LVL114:
1439 0062 10BD pop {r4, pc}
ARM GAS /tmp/ccbNWEOT.s page 71
1440 .LVL115:
1441 .L123:
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1442 .loc 1 1360 0
1443 0064 FFF7FEFF bl ADC_Enable
1444 .LVL116:
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1445 .loc 1 1364 0
1446 0068 0028 cmp r0, #0
1447 006a DAD0 beq .L115
1448 006c F9E7 b .L114
1449 .LVL117:
1450 .L122:
1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
1451 .loc 1 1396 0
1452 006e 2268 ldr r2, [r4]
1453 0070 5368 ldr r3, [r2, #4]
1454 0072 1C21 movs r1, #28
1455 0074 0B43 orrs r3, r1
1456 0076 5360 str r3, [r2, #4]
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1457 .loc 1 1397 0
1458 0078 EEE7 b .L118
1459 .LVL118:
1460 .L119:
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1461 .loc 1 1409 0
1462 007a 0220 movs r0, #2
1463 .LVL119:
1464 007c F1E7 b .L114
1465 .LVL120:
1466 .L120:
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1467 .loc 1 1353 0
1468 007e 0220 movs r0, #2
1469 .LVL121:
1470 0080 EFE7 b .L114
1471 .L125:
1472 0082 C046 .align 2
1473 .L124:
1474 0084 FEF0FFFF .word -3842
1475 .cfi_endproc
1476 .LFE48:
1478 .section .text.HAL_ADC_Stop_IT,"ax",%progbits
1479 .align 1
1480 .global HAL_ADC_Stop_IT
1481 .syntax unified
1482 .code 16
1483 .thumb_func
1484 .fpu softvfp
1486 HAL_ADC_Stop_IT:
1487 .LFB49:
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1488 .loc 1 1424 0
1489 .cfi_startproc
1490 @ args = 0, pretend = 0, frame = 0
1491 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccbNWEOT.s page 72
1492 .LVL122:
1493 0000 10B5 push {r4, lr}
1494 .LCFI11:
1495 .cfi_def_cfa_offset 8
1496 .cfi_offset 4, -8
1497 .cfi_offset 14, -4
1498 0002 0400 movs r4, r0
1499 .LVL123:
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1500 .loc 1 1431 0
1501 0004 3423 movs r3, #52
1502 0006 C35C ldrb r3, [r0, r3]
1503 0008 012B cmp r3, #1
1504 000a 1CD0 beq .L129
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1505 .loc 1 1431 0 is_stmt 0 discriminator 2
1506 000c 3423 movs r3, #52
1507 000e 0122 movs r2, #1
1508 0010 C254 strb r2, [r0, r3]
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1509 .loc 1 1434 0 is_stmt 1 discriminator 2
1510 0012 FFF7FEFF bl ADC_ConversionStop
1511 .LVL124:
1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1512 .loc 1 1437 0 discriminator 2
1513 0016 0028 cmp r0, #0
1514 0018 03D0 beq .L130
1515 .LVL125:
1516 .L128:
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1517 .loc 1 1457 0
1518 001a 3423 movs r3, #52
1519 001c 0022 movs r2, #0
1520 001e E254 strb r2, [r4, r3]
1521 .LVL126:
1522 .L127:
1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1523 .loc 1 1461 0
1524 @ sp needed
1525 .LVL127:
1526 0020 10BD pop {r4, pc}
1527 .LVL128:
1528 .L130:
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1529 .loc 1 1441 0
1530 0022 2268 ldr r2, [r4]
1531 0024 5368 ldr r3, [r2, #4]
1532 0026 1C21 movs r1, #28
1533 0028 8B43 bics r3, r1
1534 002a 5360 str r3, [r2, #4]
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1535 .loc 1 1444 0
1536 002c 2000 movs r0, r4
1537 .LVL129:
1538 002e FFF7FEFF bl ADC_Disable
1539 .LVL130:
1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
ARM GAS /tmp/ccbNWEOT.s page 73
1540 .loc 1 1447 0
1541 0032 0028 cmp r0, #0
1542 0034 F1D1 bne .L128
1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1543 .loc 1 1450 0
1544 0036 A36B ldr r3, [r4, #56]
1545 0038 044A ldr r2, .L131
1546 003a 1340 ands r3, r2
1547 003c 0432 adds r2, r2, #4
1548 003e FF32 adds r2, r2, #255
1549 0040 1343 orrs r3, r2
1550 0042 A363 str r3, [r4, #56]
1551 0044 E9E7 b .L128
1552 .LVL131:
1553 .L129:
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1554 .loc 1 1431 0
1555 0046 0220 movs r0, #2
1556 .LVL132:
1557 0048 EAE7 b .L127
1558 .L132:
1559 004a C046 .align 2
1560 .L131:
1561 004c FEFEFFFF .word -258
1562 .cfi_endproc
1563 .LFE49:
1565 .section .text.HAL_ADC_Start_DMA,"ax",%progbits
1566 .align 1
1567 .global HAL_ADC_Start_DMA
1568 .syntax unified
1569 .code 16
1570 .thumb_func
1571 .fpu softvfp
1573 HAL_ADC_Start_DMA:
1574 .LFB50:
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1575 .loc 1 1477 0
1576 .cfi_startproc
1577 @ args = 0, pretend = 0, frame = 0
1578 @ frame_needed = 0, uses_anonymous_args = 0
1579 .LVL133:
1580 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1581 .LCFI12:
1582 .cfi_def_cfa_offset 24
1583 .cfi_offset 3, -24
1584 .cfi_offset 4, -20
1585 .cfi_offset 5, -16
1586 .cfi_offset 6, -12
1587 .cfi_offset 7, -8
1588 .cfi_offset 14, -4
1589 0002 0400 movs r4, r0
1590 0004 0E00 movs r6, r1
1591 0006 1700 movs r7, r2
1592 .LVL134:
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1593 .loc 1 1484 0
1594 0008 0368 ldr r3, [r0]
ARM GAS /tmp/ccbNWEOT.s page 74
1595 000a 9B68 ldr r3, [r3, #8]
1596 000c 5B07 lsls r3, r3, #29
1597 000e 3ED4 bmi .L136
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1598 .loc 1 1487 0
1599 0010 3423 movs r3, #52
1600 0012 C35C ldrb r3, [r0, r3]
1601 0014 012B cmp r3, #1
1602 0016 3CD0 beq .L137
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1603 .loc 1 1487 0 is_stmt 0 discriminator 2
1604 0018 3423 movs r3, #52
1605 001a 0122 movs r2, #1
1606 .LVL135:
1607 001c C254 strb r2, [r0, r3]
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1608 .loc 1 1492 0 is_stmt 1 discriminator 2
1609 001e 437E ldrb r3, [r0, #25]
1610 0020 012B cmp r3, #1
1611 0022 32D0 beq .L138
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1612 .loc 1 1494 0
1613 0024 FFF7FEFF bl ADC_Enable
1614 .LVL136:
1615 0028 051E subs r5, r0, #0
1616 .LVL137:
1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1617 .loc 1 1498 0
1618 002a 2CD1 bne .L134
1619 .LVL138:
1620 .L135:
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
1621 .loc 1 1503 0
1622 002c A36B ldr r3, [r4, #56]
1623 002e 1A4A ldr r2, .L139
1624 0030 1A40 ands r2, r3
1625 0032 8023 movs r3, #128
1626 0034 5B00 lsls r3, r3, #1
1627 0036 1343 orrs r3, r2
1628 0038 A363 str r3, [r4, #56]
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1629 .loc 1 1508 0
1630 003a 0023 movs r3, #0
1631 003c E363 str r3, [r4, #60]
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1632 .loc 1 1513 0
1633 003e 3422 movs r2, #52
1634 0040 A354 strb r3, [r4, r2]
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1635 .loc 1 1516 0
1636 0042 236B ldr r3, [r4, #48]
1637 0044 154A ldr r2, .L139+4
1638 0046 9A62 str r2, [r3, #40]
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1639 .loc 1 1519 0
1640 0048 236B ldr r3, [r4, #48]
1641 004a 154A ldr r2, .L139+8
ARM GAS /tmp/ccbNWEOT.s page 75
1642 004c DA62 str r2, [r3, #44]
1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1643 .loc 1 1522 0
1644 004e 236B ldr r3, [r4, #48]
1645 0050 144A ldr r2, .L139+12
1646 0052 1A63 str r2, [r3, #48]
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1647 .loc 1 1531 0
1648 0054 2368 ldr r3, [r4]
1649 0056 1C22 movs r2, #28
1650 0058 1A60 str r2, [r3]
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1651 .loc 1 1534 0
1652 005a 2268 ldr r2, [r4]
1653 005c 5368 ldr r3, [r2, #4]
1654 005e 1021 movs r1, #16
1655 0060 0B43 orrs r3, r1
1656 0062 5360 str r3, [r2, #4]
1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1657 .loc 1 1537 0
1658 0064 2268 ldr r2, [r4]
1659 0066 D368 ldr r3, [r2, #12]
1660 0068 0F39 subs r1, r1, #15
1661 006a 0B43 orrs r3, r1
1662 006c D360 str r3, [r2, #12]
1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1663 .loc 1 1540 0
1664 006e 2168 ldr r1, [r4]
1665 0070 4031 adds r1, r1, #64
1666 0072 3B00 movs r3, r7
1667 0074 3200 movs r2, r6
1668 0076 206B ldr r0, [r4, #48]
1669 0078 FFF7FEFF bl HAL_DMA_Start_IT
1670 .LVL139:
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1671 .loc 1 1546 0
1672 007c 2268 ldr r2, [r4]
1673 007e 9368 ldr r3, [r2, #8]
1674 0080 0421 movs r1, #4
1675 0082 0B43 orrs r3, r1
1676 0084 9360 str r3, [r2, #8]
1677 .L134:
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1678 .loc 1 1556 0
1679 0086 2800 movs r0, r5
1680 @ sp needed
1681 .LVL140:
1682 .LVL141:
1683 .LVL142:
1684 0088 F8BD pop {r3, r4, r5, r6, r7, pc}
1685 .LVL143:
1686 .L138:
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1687 .loc 1 1478 0
1688 008a 0025 movs r5, #0
1689 008c CEE7 b .L135
1690 .LVL144:
ARM GAS /tmp/ccbNWEOT.s page 76
1691 .L136:
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1692 .loc 1 1551 0
1693 008e 0225 movs r5, #2
1694 0090 F9E7 b .L134
1695 .L137:
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1696 .loc 1 1487 0
1697 0092 0225 movs r5, #2
1698 0094 F7E7 b .L134
1699 .L140:
1700 0096 C046 .align 2
1701 .L139:
1702 0098 FEF0FFFF .word -3842
1703 009c 00000000 .word ADC_DMAConvCplt
1704 00a0 00000000 .word ADC_DMAHalfConvCplt
1705 00a4 00000000 .word ADC_DMAError
1706 .cfi_endproc
1707 .LFE50:
1709 .section .text.HAL_ADC_Stop_DMA,"ax",%progbits
1710 .align 1
1711 .global HAL_ADC_Stop_DMA
1712 .syntax unified
1713 .code 16
1714 .thumb_func
1715 .fpu softvfp
1717 HAL_ADC_Stop_DMA:
1718 .LFB51:
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
1719 .loc 1 1566 0
1720 .cfi_startproc
1721 @ args = 0, pretend = 0, frame = 0
1722 @ frame_needed = 0, uses_anonymous_args = 0
1723 .LVL145:
1724 0000 70B5 push {r4, r5, r6, lr}
1725 .LCFI13:
1726 .cfi_def_cfa_offset 16
1727 .cfi_offset 4, -16
1728 .cfi_offset 5, -12
1729 .cfi_offset 6, -8
1730 .cfi_offset 14, -4
1731 0002 0500 movs r5, r0
1732 .LVL146:
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1733 .loc 1 1573 0
1734 0004 3423 movs r3, #52
1735 0006 C35C ldrb r3, [r0, r3]
1736 0008 012B cmp r3, #1
1737 000a 32D0 beq .L147
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1738 .loc 1 1573 0 is_stmt 0 discriminator 2
1739 000c 3423 movs r3, #52
1740 000e 0122 movs r2, #1
1741 0010 C254 strb r2, [r0, r3]
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1742 .loc 1 1576 0 is_stmt 1 discriminator 2
1743 0012 FFF7FEFF bl ADC_ConversionStop
ARM GAS /tmp/ccbNWEOT.s page 77
1744 .LVL147:
1745 0016 041E subs r4, r0, #0
1746 .LVL148:
1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1747 .loc 1 1579 0 discriminator 2
1748 0018 04D0 beq .L148
1749 .LVL149:
1750 .L143:
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1751 .loc 1 1622 0
1752 001a 3423 movs r3, #52
1753 001c 0022 movs r2, #0
1754 001e EA54 strb r2, [r5, r3]
1755 .LVL150:
1756 .L142:
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1757 .loc 1 1626 0
1758 0020 2000 movs r0, r4
1759 @ sp needed
1760 .LVL151:
1761 0022 70BD pop {r4, r5, r6, pc}
1762 .LVL152:
1763 .L148:
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1764 .loc 1 1582 0
1765 0024 2A68 ldr r2, [r5]
1766 0026 D368 ldr r3, [r2, #12]
1767 0028 0121 movs r1, #1
1768 002a 8B43 bics r3, r1
1769 002c D360 str r3, [r2, #12]
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1770 .loc 1 1586 0
1771 002e 286B ldr r0, [r5, #48]
1772 .LVL153:
1773 0030 FFF7FEFF bl HAL_DMA_Abort
1774 .LVL154:
1775 0034 041E subs r4, r0, #0
1776 .LVL155:
1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1777 .loc 1 1589 0
1778 0036 03D0 beq .L144
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1779 .loc 1 1592 0
1780 0038 AB6B ldr r3, [r5, #56]
1781 003a 4022 movs r2, #64
1782 003c 1343 orrs r3, r2
1783 003e AB63 str r3, [r5, #56]
1784 .L144:
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1785 .loc 1 1596 0
1786 0040 2A68 ldr r2, [r5]
1787 0042 5368 ldr r3, [r2, #4]
1788 0044 1021 movs r1, #16
1789 0046 8B43 bics r3, r1
1790 0048 5360 str r3, [r2, #4]
1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1791 .loc 1 1601 0
ARM GAS /tmp/ccbNWEOT.s page 78
1792 004a 002C cmp r4, #0
1793 004c 0DD1 bne .L145
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1794 .loc 1 1603 0
1795 004e 2800 movs r0, r5
1796 .LVL156:
1797 0050 FFF7FEFF bl ADC_Disable
1798 .LVL157:
1799 0054 0400 movs r4, r0
1800 .LVL158:
1801 .L146:
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1802 .loc 1 1611 0
1803 0056 002C cmp r4, #0
1804 0058 DFD1 bne .L143
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1805 .loc 1 1614 0
1806 005a AB6B ldr r3, [r5, #56]
1807 005c 064A ldr r2, .L149
1808 005e 1340 ands r3, r2
1809 0060 0432 adds r2, r2, #4
1810 0062 FF32 adds r2, r2, #255
1811 0064 1343 orrs r3, r2
1812 0066 AB63 str r3, [r5, #56]
1813 0068 D7E7 b .L143
1814 .LVL159:
1815 .L145:
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1816 .loc 1 1607 0
1817 006a 2800 movs r0, r5
1818 .LVL160:
1819 006c FFF7FEFF bl ADC_Disable
1820 .LVL161:
1821 0070 F1E7 b .L146
1822 .LVL162:
1823 .L147:
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1824 .loc 1 1573 0
1825 0072 0224 movs r4, #2
1826 0074 D4E7 b .L142
1827 .L150:
1828 0076 C046 .align 2
1829 .L149:
1830 0078 FEFEFFFF .word -258
1831 .cfi_endproc
1832 .LFE51:
1834 .section .text.HAL_ADC_GetValue,"ax",%progbits
1835 .align 1
1836 .global HAL_ADC_GetValue
1837 .syntax unified
1838 .code 16
1839 .thumb_func
1840 .fpu softvfp
1842 HAL_ADC_GetValue:
1843 .LFB52:
1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
1844 .loc 1 1648 0
ARM GAS /tmp/ccbNWEOT.s page 79
1845 .cfi_startproc
1846 @ args = 0, pretend = 0, frame = 0
1847 @ frame_needed = 0, uses_anonymous_args = 0
1848 @ link register save eliminated.
1849 .LVL163:
1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1850 .loc 1 1656 0
1851 0000 0368 ldr r3, [r0]
1852 0002 186C ldr r0, [r3, #64]
1853 .LVL164:
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1854 .loc 1 1657 0
1855 @ sp needed
1856 0004 7047 bx lr
1857 .cfi_endproc
1858 .LFE52:
1860 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits
1861 .align 1
1862 .weak HAL_ADC_ConvCpltCallback
1863 .syntax unified
1864 .code 16
1865 .thumb_func
1866 .fpu softvfp
1868 HAL_ADC_ConvCpltCallback:
1869 .LFB54:
1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
1870 .loc 1 1790 0
1871 .cfi_startproc
1872 @ args = 0, pretend = 0, frame = 0
1873 @ frame_needed = 0, uses_anonymous_args = 0
1874 @ link register save eliminated.
1875 .LVL165:
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1876 .loc 1 1797 0
1877 @ sp needed
1878 0000 7047 bx lr
1879 .cfi_endproc
1880 .LFE54:
1882 .section .text.ADC_DMAConvCplt,"ax",%progbits
1883 .align 1
1884 .syntax unified
1885 .code 16
1886 .thumb_func
1887 .fpu softvfp
1889 ADC_DMAConvCplt:
1890 .LFB65:
2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA transfer complete callback.
2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle.
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma)
2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1891 .loc 1 2362 0
1892 .cfi_startproc
ARM GAS /tmp/ccbNWEOT.s page 80
1893 @ args = 0, pretend = 0, frame = 0
1894 @ frame_needed = 0, uses_anonymous_args = 0
1895 .LVL166:
1896 0000 10B5 push {r4, lr}
1897 .LCFI14:
1898 .cfi_def_cfa_offset 8
1899 .cfi_offset 4, -8
1900 .cfi_offset 14, -4
2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
1901 .loc 1 2364 0
1902 0002 436A ldr r3, [r0, #36]
1903 .LVL167:
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */
2367: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))
1904 .loc 1 2367 0
1905 0004 9A6B ldr r2, [r3, #56]
1906 0006 5021 movs r1, #80
1907 0008 1142 tst r1, r2
1908 000a 03D0 beq .L158
2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */
2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) )
2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */
2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */
2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */
2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS);
2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
ARM GAS /tmp/ccbNWEOT.s page 81
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Conversion complete callback */
2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback(hadc);
2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc);
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Call DMA error callback */
2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback(hdma);
1909 .loc 1 2416 0
1910 000c 1B6B ldr r3, [r3, #48]
1911 .LVL168:
1912 000e 1B6B ldr r3, [r3, #48]
1913 0010 9847 blx r3
1914 .LVL169:
1915 .L153:
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 **** }
1916 .loc 1 2419 0
1917 @ sp needed
1918 0012 10BD pop {r4, pc}
1919 .LVL170:
1920 .L158:
2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1921 .loc 1 2370 0
1922 0014 996B ldr r1, [r3, #56]
1923 0016 8022 movs r2, #128
1924 0018 9200 lsls r2, r2, #2
1925 001a 0A43 orrs r2, r1
1926 001c 9A63 str r2, [r3, #56]
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
1927 .loc 1 2374 0
1928 001e 1A68 ldr r2, [r3]
1929 0020 D068 ldr r0, [r2, #12]
1930 .LVL171:
1931 0022 C021 movs r1, #192
1932 0024 0901 lsls r1, r1, #4
1933 0026 0842 tst r0, r1
1934 0028 13D1 bne .L155
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1935 .loc 1 2375 0 discriminator 1
1936 002a 997E ldrb r1, [r3, #26]
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
1937 .loc 1 2374 0 discriminator 1
1938 002c 0029 cmp r1, #0
1939 002e 10D1 bne .L155
2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
1940 .loc 1 2378 0
1941 0030 1168 ldr r1, [r2]
1942 0032 0907 lsls r1, r1, #28
1943 0034 0DD5 bpl .L155
2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
ARM GAS /tmp/ccbNWEOT.s page 82
1944 .loc 1 2382 0
1945 0036 9168 ldr r1, [r2, #8]
1946 0038 4907 lsls r1, r1, #29
1947 003a 0ED4 bmi .L156
2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1948 .loc 1 2388 0
1949 003c 5168 ldr r1, [r2, #4]
1950 003e 0C20 movs r0, #12
1951 0040 8143 bics r1, r0
1952 0042 5160 str r1, [r2, #4]
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
1953 .loc 1 2391 0
1954 0044 9A6B ldr r2, [r3, #56]
1955 0046 0949 ldr r1, .L159
1956 0048 0A40 ands r2, r1
1957 004a 0431 adds r1, r1, #4
1958 004c FF31 adds r1, r1, #255
1959 004e 0A43 orrs r2, r1
1960 0050 9A63 str r2, [r3, #56]
1961 .L155:
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
1962 .loc 1 2410 0
1963 0052 1800 movs r0, r3
1964 0054 FFF7FEFF bl HAL_ADC_ConvCpltCallback
1965 .LVL172:
1966 0058 DBE7 b .L153
1967 .LVL173:
1968 .L156:
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
1969 .loc 1 2398 0
1970 005a 9A6B ldr r2, [r3, #56]
1971 005c 2021 movs r1, #32
1972 005e 0A43 orrs r2, r1
1973 0060 9A63 str r2, [r3, #56]
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
1974 .loc 1 2401 0
1975 0062 DA6B ldr r2, [r3, #60]
1976 0064 1F39 subs r1, r1, #31
1977 0066 0A43 orrs r2, r1
1978 0068 DA63 str r2, [r3, #60]
1979 006a F2E7 b .L155
1980 .L160:
1981 .align 2
1982 .L159:
1983 006c FEFEFFFF .word -258
1984 .cfi_endproc
1985 .LFE65:
1987 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits
1988 .align 1
1989 .weak HAL_ADC_ConvHalfCpltCallback
1990 .syntax unified
1991 .code 16
1992 .thumb_func
1993 .fpu softvfp
1995 HAL_ADC_ConvHalfCpltCallback:
1996 .LFB55:
1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccbNWEOT.s page 83
1997 .loc 1 1805 0
1998 .cfi_startproc
1999 @ args = 0, pretend = 0, frame = 0
2000 @ frame_needed = 0, uses_anonymous_args = 0
2001 @ link register save eliminated.
2002 .LVL174:
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2003 .loc 1 1812 0
2004 @ sp needed
2005 0000 7047 bx lr
2006 .cfi_endproc
2007 .LFE55:
2009 .section .text.ADC_DMAHalfConvCplt,"ax",%progbits
2010 .align 1
2011 .syntax unified
2012 .code 16
2013 .thumb_func
2014 .fpu softvfp
2016 ADC_DMAHalfConvCplt:
2017 .LFB66:
2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA half transfer complete callback.
2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle.
2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma)
2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2018 .loc 1 2427 0
2019 .cfi_startproc
2020 @ args = 0, pretend = 0, frame = 0
2021 @ frame_needed = 0, uses_anonymous_args = 0
2022 .LVL175:
2023 0000 10B5 push {r4, lr}
2024 .LCFI15:
2025 .cfi_def_cfa_offset 8
2026 .cfi_offset 4, -8
2027 .cfi_offset 14, -4
2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
2028 .loc 1 2429 0
2029 0002 406A ldr r0, [r0, #36]
2030 .LVL176:
2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Half conversion callback */
2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback(hadc);
2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvHalfCpltCallback(hadc);
2031 .loc 1 2435 0
2032 0004 FFF7FEFF bl HAL_ADC_ConvHalfCpltCallback
2033 .LVL177:
2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2034 .loc 1 2437 0
2035 @ sp needed
2036 0008 10BD pop {r4, pc}
ARM GAS /tmp/ccbNWEOT.s page 84
2037 .cfi_endproc
2038 .LFE66:
2040 .section .text.HAL_ADC_LevelOutOfWindowCallback,"ax",%progbits
2041 .align 1
2042 .weak HAL_ADC_LevelOutOfWindowCallback
2043 .syntax unified
2044 .code 16
2045 .thumb_func
2046 .fpu softvfp
2048 HAL_ADC_LevelOutOfWindowCallback:
2049 .LFB56:
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
2050 .loc 1 1820 0
2051 .cfi_startproc
2052 @ args = 0, pretend = 0, frame = 0
2053 @ frame_needed = 0, uses_anonymous_args = 0
2054 @ link register save eliminated.
2055 .LVL178:
1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2056 .loc 1 1827 0
2057 @ sp needed
2058 0000 7047 bx lr
2059 .cfi_endproc
2060 .LFE56:
2062 .section .text.HAL_ADC_ErrorCallback,"ax",%progbits
2063 .align 1
2064 .weak HAL_ADC_ErrorCallback
2065 .syntax unified
2066 .code 16
2067 .thumb_func
2068 .fpu softvfp
2070 HAL_ADC_ErrorCallback:
2071 .LFB57:
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
2072 .loc 1 1836 0
2073 .cfi_startproc
2074 @ args = 0, pretend = 0, frame = 0
2075 @ frame_needed = 0, uses_anonymous_args = 0
2076 @ link register save eliminated.
2077 .LVL179:
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2078 .loc 1 1843 0
2079 @ sp needed
2080 0000 7047 bx lr
2081 .cfi_endproc
2082 .LFE57:
2084 .section .text.ADC_DMAError,"ax",%progbits
2085 .align 1
2086 .syntax unified
2087 .code 16
2088 .thumb_func
2089 .fpu softvfp
2091 ADC_DMAError:
2092 .LFB67:
2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA error callback
ARM GAS /tmp/ccbNWEOT.s page 85
2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle.
2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma)
2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2093 .loc 1 2445 0
2094 .cfi_startproc
2095 @ args = 0, pretend = 0, frame = 0
2096 @ frame_needed = 0, uses_anonymous_args = 0
2097 .LVL180:
2098 0000 10B5 push {r4, lr}
2099 .LCFI16:
2100 .cfi_def_cfa_offset 8
2101 .cfi_offset 4, -8
2102 .cfi_offset 14, -4
2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
2103 .loc 1 2447 0
2104 0002 406A ldr r0, [r0, #36]
2105 .LVL181:
2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA);
2106 .loc 1 2450 0
2107 0004 836B ldr r3, [r0, #56]
2108 0006 4022 movs r2, #64
2109 0008 1343 orrs r3, r2
2110 000a 8363 str r3, [r0, #56]
2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to DMA error */
2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA);
2111 .loc 1 2453 0
2112 000c C36B ldr r3, [r0, #60]
2113 000e 3C3A subs r2, r2, #60
2114 0010 1343 orrs r3, r2
2115 0012 C363 str r3, [r0, #60]
2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Error callback */
2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback(hadc);
2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc);
2116 .loc 1 2459 0
2117 0014 FFF7FEFF bl HAL_ADC_ErrorCallback
2118 .LVL182:
2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2119 .loc 1 2461 0
2120 @ sp needed
2121 0018 10BD pop {r4, pc}
2122 .cfi_endproc
2123 .LFE67:
2125 .section .text.HAL_ADC_IRQHandler,"ax",%progbits
2126 .align 1
2127 .global HAL_ADC_IRQHandler
2128 .syntax unified
2129 .code 16
ARM GAS /tmp/ccbNWEOT.s page 86
2130 .thumb_func
2131 .fpu softvfp
2133 HAL_ADC_IRQHandler:
2134 .LFB53:
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
2135 .loc 1 1665 0
2136 .cfi_startproc
2137 @ args = 0, pretend = 0, frame = 0
2138 @ frame_needed = 0, uses_anonymous_args = 0
2139 .LVL183:
2140 0000 10B5 push {r4, lr}
2141 .LCFI17:
2142 .cfi_def_cfa_offset 8
2143 .cfi_offset 4, -8
2144 .cfi_offset 14, -4
2145 0002 0400 movs r4, r0
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
2146 .loc 1 1672 0
2147 0004 0368 ldr r3, [r0]
2148 0006 1A68 ldr r2, [r3]
2149 0008 5207 lsls r2, r2, #29
2150 000a 02D5 bpl .L167
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
2151 .loc 1 1672 0 is_stmt 0 discriminator 1
2152 000c 5A68 ldr r2, [r3, #4]
2153 000e 5207 lsls r2, r2, #29
2154 0010 05D4 bmi .L168
2155 .L167:
1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2156 .loc 1 1673 0 is_stmt 1 discriminator 3
2157 0012 1A68 ldr r2, [r3]
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
2158 .loc 1 1672 0 discriminator 3
2159 0014 1207 lsls r2, r2, #28
2160 0016 29D5 bpl .L169
1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2161 .loc 1 1673 0
2162 0018 5A68 ldr r2, [r3, #4]
2163 001a 1207 lsls r2, r2, #28
2164 001c 26D5 bpl .L169
2165 .L168:
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2166 .loc 1 1676 0
2167 001e A26B ldr r2, [r4, #56]
2168 0020 D206 lsls r2, r2, #27
2169 0022 04D4 bmi .L170
1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2170 .loc 1 1679 0
2171 0024 A16B ldr r1, [r4, #56]
2172 0026 8022 movs r2, #128
2173 0028 9200 lsls r2, r2, #2
2174 002a 0A43 orrs r2, r1
2175 002c A263 str r2, [r4, #56]
2176 .L170:
1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
2177 .loc 1 1684 0
2178 002e D968 ldr r1, [r3, #12]
ARM GAS /tmp/ccbNWEOT.s page 87
2179 0030 C022 movs r2, #192
2180 0032 1201 lsls r2, r2, #4
2181 0034 1142 tst r1, r2
2182 0036 13D1 bne .L171
1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2183 .loc 1 1685 0 discriminator 1
2184 0038 A27E ldrb r2, [r4, #26]
1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
2185 .loc 1 1684 0 discriminator 1
2186 003a 002A cmp r2, #0
2187 003c 10D1 bne .L171
1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2188 .loc 1 1688 0
2189 003e 1A68 ldr r2, [r3]
2190 0040 1207 lsls r2, r2, #28
2191 0042 0DD5 bpl .L171
1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2192 .loc 1 1692 0
2193 0044 9A68 ldr r2, [r3, #8]
2194 0046 5207 lsls r2, r2, #29
2195 0048 31D4 bmi .L172
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2196 .loc 1 1698 0
2197 004a 5A68 ldr r2, [r3, #4]
2198 004c 0C21 movs r1, #12
2199 004e 8A43 bics r2, r1
2200 0050 5A60 str r2, [r3, #4]
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
2201 .loc 1 1701 0
2202 0052 A36B ldr r3, [r4, #56]
2203 0054 204A ldr r2, .L178
2204 0056 1340 ands r3, r2
2205 0058 0432 adds r2, r2, #4
2206 005a FF32 adds r2, r2, #255
2207 005c 1343 orrs r3, r2
2208 005e A363 str r3, [r4, #56]
2209 .L171:
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
2210 .loc 1 1722 0
2211 0060 2000 movs r0, r4
2212 .LVL184:
2213 0062 FFF7FEFF bl HAL_ADC_ConvCpltCallback
2214 .LVL185:
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2215 .loc 1 1731 0
2216 0066 2368 ldr r3, [r4]
2217 0068 0C22 movs r2, #12
2218 006a 1A60 str r2, [r3]
2219 .L169:
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2220 .loc 1 1735 0
2221 006c 2368 ldr r3, [r4]
2222 006e 1A68 ldr r2, [r3]
2223 0070 1206 lsls r2, r2, #24
2224 0072 02D5 bpl .L173
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2225 .loc 1 1735 0 is_stmt 0 discriminator 1
ARM GAS /tmp/ccbNWEOT.s page 88
2226 0074 5B68 ldr r3, [r3, #4]
2227 0076 1B06 lsls r3, r3, #24
2228 0078 22D4 bmi .L177
2229 .L173:
1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2230 .loc 1 1753 0 is_stmt 1
2231 007a 2368 ldr r3, [r4]
2232 007c 1A68 ldr r2, [r3]
2233 007e D206 lsls r2, r2, #27
2234 0080 14D5 bpl .L166
1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2235 .loc 1 1753 0 is_stmt 0 discriminator 1
2236 0082 5A68 ldr r2, [r3, #4]
2237 0084 D206 lsls r2, r2, #27
2238 0086 11D5 bpl .L166
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) )
2239 .loc 1 1761 0 is_stmt 1
2240 0088 A26A ldr r2, [r4, #40]
2241 008a 012A cmp r2, #1
2242 008c 02D0 beq .L175
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2243 .loc 1 1762 0 discriminator 1
2244 008e DA68 ldr r2, [r3, #12]
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) )
2245 .loc 1 1761 0 discriminator 1
2246 0090 D207 lsls r2, r2, #31
2247 0092 08D5 bpl .L176
2248 .L175:
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2249 .loc 1 1765 0
2250 0094 E26B ldr r2, [r4, #60]
2251 0096 0221 movs r1, #2
2252 0098 0A43 orrs r2, r1
2253 009a E263 str r2, [r4, #60]
1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2254 .loc 1 1768 0
2255 009c 1022 movs r2, #16
2256 009e 1A60 str r2, [r3]
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
2257 .loc 1 1773 0
2258 00a0 2000 movs r0, r4
2259 00a2 FFF7FEFF bl HAL_ADC_ErrorCallback
2260 .LVL186:
2261 .L176:
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2262 .loc 1 1778 0
2263 00a6 2368 ldr r3, [r4]
2264 00a8 1022 movs r2, #16
2265 00aa 1A60 str r2, [r3]
2266 .L166:
1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2267 .loc 1 1781 0
2268 @ sp needed
2269 .LVL187:
2270 00ac 10BD pop {r4, pc}
2271 .LVL188:
2272 .L172:
ARM GAS /tmp/ccbNWEOT.s page 89
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2273 .loc 1 1708 0
2274 00ae A36B ldr r3, [r4, #56]
2275 00b0 2022 movs r2, #32
2276 00b2 1343 orrs r3, r2
2277 00b4 A363 str r3, [r4, #56]
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2278 .loc 1 1711 0
2279 00b6 E36B ldr r3, [r4, #60]
2280 00b8 1F3A subs r2, r2, #31
2281 00ba 1343 orrs r3, r2
2282 00bc E363 str r3, [r4, #60]
2283 00be CFE7 b .L171
2284 .LVL189:
2285 .L177:
1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2286 .loc 1 1738 0
2287 00c0 A26B ldr r2, [r4, #56]
2288 00c2 8023 movs r3, #128
2289 00c4 5B02 lsls r3, r3, #9
2290 00c6 1343 orrs r3, r2
2291 00c8 A363 str r3, [r4, #56]
1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
2292 .loc 1 1743 0
2293 00ca 2000 movs r0, r4
2294 00cc FFF7FEFF bl HAL_ADC_LevelOutOfWindowCallback
2295 .LVL190:
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2296 .loc 1 1747 0
2297 00d0 2368 ldr r3, [r4]
2298 00d2 8022 movs r2, #128
2299 00d4 1A60 str r2, [r3]
2300 00d6 D0E7 b .L173
2301 .L179:
2302 .align 2
2303 .L178:
2304 00d8 FEFEFFFF .word -258
2305 .cfi_endproc
2306 .LFE53:
2308 .section .text.HAL_ADC_ConfigChannel,"ax",%progbits
2309 .align 1
2310 .global HAL_ADC_ConfigChannel
2311 .syntax unified
2312 .code 16
2313 .thumb_func
2314 .fpu softvfp
2316 HAL_ADC_ConfigChannel:
2317 .LFB58:
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
2318 .loc 1 1890 0
2319 .cfi_startproc
2320 @ args = 0, pretend = 0, frame = 8
2321 @ frame_needed = 0, uses_anonymous_args = 0
2322 .LVL191:
2323 0000 30B5 push {r4, r5, lr}
2324 .LCFI18:
2325 .cfi_def_cfa_offset 12
ARM GAS /tmp/ccbNWEOT.s page 90
2326 .cfi_offset 4, -12
2327 .cfi_offset 5, -8
2328 .cfi_offset 14, -4
2329 0002 83B0 sub sp, sp, #12
2330 .LCFI19:
2331 .cfi_def_cfa_offset 24
2332 0004 0400 movs r4, r0
2333 .LVL192:
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2334 .loc 1 1892 0
2335 0006 0023 movs r3, #0
2336 0008 0193 str r3, [sp, #4]
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2337 .loc 1 1905 0
2338 000a 3433 adds r3, r3, #52
2339 000c C35C ldrb r3, [r0, r3]
2340 000e 012B cmp r3, #1
2341 0010 00D1 bne .LCB2176
2342 0012 8AE0 b .L190 @long jump
2343 .LCB2176:
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2344 .loc 1 1905 0 is_stmt 0 discriminator 2
2345 0014 3423 movs r3, #52
2346 0016 0122 movs r2, #1
2347 0018 C254 strb r2, [r0, r3]
1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2348 .loc 1 1913 0 is_stmt 1 discriminator 2
2349 001a 0368 ldr r3, [r0]
2350 001c 9A68 ldr r2, [r3, #8]
2351 001e 5207 lsls r2, r2, #29
2352 0020 75D4 bmi .L182
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2353 .loc 1 1917 0
2354 0022 434A ldr r2, .L201
2355 0024 4868 ldr r0, [r1, #4]
2356 .LVL193:
2357 0026 9042 cmp r0, r2
2358 0028 56D0 beq .L183
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2359 .loc 1 1921 0
2360 002a 9A6A ldr r2, [r3, #40]
2361 002c 0120 movs r0, #1
2362 002e 0D68 ldr r5, [r1]
2363 0030 A840 lsls r0, r0, r5
2364 0032 0243 orrs r2, r0
2365 0034 9A62 str r2, [r3, #40]
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2366 .loc 1 1928 0
2367 0036 E36A ldr r3, [r4, #44]
2368 0038 8022 movs r2, #128
2369 003a 5205 lsls r2, r2, #21
2370 003c 9342 cmp r3, r2
2371 003e 1ED0 beq .L184
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2372 .loc 1 1928 0 is_stmt 0 discriminator 1
2373 0040 012B cmp r3, #1
2374 0042 1CD0 beq .L184
ARM GAS /tmp/ccbNWEOT.s page 91
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2375 .loc 1 1928 0 discriminator 2
2376 0044 022B cmp r3, #2
2377 0046 1AD0 beq .L184
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2378 .loc 1 1928 0 discriminator 3
2379 0048 032B cmp r3, #3
2380 004a 18D0 beq .L184
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2381 .loc 1 1928 0 discriminator 4
2382 004c 042B cmp r3, #4
2383 004e 16D0 beq .L184
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2384 .loc 1 1928 0 discriminator 5
2385 0050 052B cmp r3, #5
2386 0052 14D0 beq .L184
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2387 .loc 1 1928 0 discriminator 6
2388 0054 062B cmp r3, #6
2389 0056 12D0 beq .L184
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2390 .loc 1 1928 0 discriminator 7
2391 0058 072B cmp r3, #7
2392 005a 10D0 beq .L184
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2393 .loc 1 1932 0 is_stmt 1
2394 005c 2268 ldr r2, [r4]
2395 005e 5069 ldr r0, [r2, #20]
2396 0060 0723 movs r3, #7
2397 0062 0340 ands r3, r0
2398 0064 8868 ldr r0, [r1, #8]
2399 0066 9842 cmp r0, r3
2400 0068 09D0 beq .L184
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2401 .loc 1 1936 0
2402 006a 5069 ldr r0, [r2, #20]
2403 006c 0723 movs r3, #7
2404 006e 9843 bics r0, r3
2405 0070 5061 str r0, [r2, #20]
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2406 .loc 1 1939 0
2407 0072 2068 ldr r0, [r4]
2408 0074 4269 ldr r2, [r0, #20]
2409 0076 8D68 ldr r5, [r1, #8]
2410 0078 2B40 ands r3, r5
2411 007a 1343 orrs r3, r2
2412 007c 4361 str r3, [r0, #20]
2413 .L184:
1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2414 .loc 1 1949 0
2415 007e 0B68 ldr r3, [r1]
2416 0080 1A00 movs r2, r3
2417 0082 103A subs r2, r2, #16
2418 0084 022A cmp r2, #2
2419 0086 4CD8 bhi .L191
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2420 .loc 1 1954 0
ARM GAS /tmp/ccbNWEOT.s page 92
2421 0088 2A4A ldr r2, .L201+4
2422 008a 1268 ldr r2, [r2]
2423 008c 102B cmp r3, #16
2424 008e 0ED0 beq .L192
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2425 .loc 1 1954 0 is_stmt 0 discriminator 1
2426 0090 112B cmp r3, #17
2427 0092 09D0 beq .L198
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2428 .loc 1 1954 0
2429 0094 8023 movs r3, #128
2430 0096 5B04 lsls r3, r3, #17
2431 .L186:
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2432 .loc 1 1954 0 discriminator 8
2433 0098 1343 orrs r3, r2
2434 009a 264A ldr r2, .L201+4
2435 009c 1360 str r3, [r2]
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2436 .loc 1 1957 0 is_stmt 1 discriminator 8
2437 009e 0B68 ldr r3, [r1]
2438 00a0 102B cmp r3, #16
2439 00a2 07D0 beq .L199
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
2440 .loc 1 1891 0
2441 00a4 0020 movs r0, #0
2442 00a6 37E0 b .L185
2443 .L198:
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2444 .loc 1 1954 0
2445 00a8 8023 movs r3, #128
2446 00aa DB03 lsls r3, r3, #15
2447 00ac F4E7 b .L186
2448 .L192:
2449 00ae 8023 movs r3, #128
2450 00b0 1B04 lsls r3, r3, #16
2451 00b2 F1E7 b .L186
2452 .L199:
1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
2453 .loc 1 1961 0
2454 00b4 204B ldr r3, .L201+8
2455 00b6 1868 ldr r0, [r3]
2456 00b8 2049 ldr r1, .L201+12
2457 .LVL194:
2458 00ba FFF7FEFF bl __aeabi_uidiv
2459 .LVL195:
2460 00be 8300 lsls r3, r0, #2
2461 00c0 1818 adds r0, r3, r0
2462 00c2 4300 lsls r3, r0, #1
2463 00c4 0193 str r3, [sp, #4]
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2464 .loc 1 1962 0
2465 00c6 02E0 b .L187
2466 .L188:
1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2467 .loc 1 1964 0
2468 00c8 019B ldr r3, [sp, #4]
ARM GAS /tmp/ccbNWEOT.s page 93
2469 00ca 013B subs r3, r3, #1
2470 00cc 0193 str r3, [sp, #4]
2471 .L187:
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2472 .loc 1 1962 0
2473 00ce 019B ldr r3, [sp, #4]
2474 00d0 002B cmp r3, #0
2475 00d2 F9D1 bne .L188
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
2476 .loc 1 1891 0
2477 00d4 0020 movs r0, #0
2478 00d6 1FE0 b .L185
2479 .LVL196:
2480 .L183:
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2481 .loc 1 1973 0
2482 00d8 9A6A ldr r2, [r3, #40]
2483 00da 0120 movs r0, #1
2484 00dc 0D68 ldr r5, [r1]
2485 00de A840 lsls r0, r0, r5
2486 00e0 8243 bics r2, r0
2487 00e2 9A62 str r2, [r3, #40]
1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2488 .loc 1 1978 0
2489 00e4 0B68 ldr r3, [r1]
2490 00e6 1A00 movs r2, r3
2491 00e8 103A subs r2, r2, #16
2492 00ea 022A cmp r2, #2
2493 00ec 1BD8 bhi .L195
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2494 .loc 1 1983 0
2495 00ee 114A ldr r2, .L201+4
2496 00f0 1268 ldr r2, [r2]
2497 00f2 102B cmp r3, #16
2498 00f4 09D0 beq .L196
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2499 .loc 1 1983 0 is_stmt 0 discriminator 1
2500 00f6 112B cmp r3, #17
2501 00f8 05D0 beq .L200
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2502 .loc 1 1983 0
2503 00fa 114B ldr r3, .L201+16
2504 .L189:
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2505 .loc 1 1983 0 discriminator 8
2506 00fc 1340 ands r3, r2
2507 00fe 0D4A ldr r2, .L201+4
2508 0100 1360 str r3, [r2]
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
2509 .loc 1 1891 0 is_stmt 1 discriminator 8
2510 0102 0020 movs r0, #0
2511 0104 08E0 b .L185
2512 .L200:
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2513 .loc 1 1983 0
2514 0106 0F4B ldr r3, .L201+20
2515 0108 F8E7 b .L189
ARM GAS /tmp/ccbNWEOT.s page 94
2516 .L196:
2517 010a 0F4B ldr r3, .L201+24
2518 010c F6E7 b .L189
2519 .LVL197:
2520 .L182:
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2521 .loc 1 1995 0
2522 010e 836B ldr r3, [r0, #56]
2523 0110 2022 movs r2, #32
2524 0112 1343 orrs r3, r2
2525 0114 8363 str r3, [r0, #56]
2526 .LVL198:
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2527 .loc 1 1997 0
2528 0116 0120 movs r0, #1
2529 .LVL199:
2530 .L185:
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2531 .loc 1 2001 0
2532 0118 3423 movs r3, #52
2533 011a 0022 movs r2, #0
2534 011c E254 strb r2, [r4, r3]
2535 .LVL200:
2536 .L181:
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2537 .loc 1 2005 0
2538 011e 03B0 add sp, sp, #12
2539 @ sp needed
2540 .LVL201:
2541 0120 30BD pop {r4, r5, pc}
2542 .LVL202:
2543 .L191:
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
2544 .loc 1 1891 0
2545 0122 0020 movs r0, #0
2546 0124 F8E7 b .L185
2547 .L195:
2548 0126 0020 movs r0, #0
2549 0128 F6E7 b .L185
2550 .LVL203:
2551 .L190:
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2552 .loc 1 1905 0
2553 012a 0220 movs r0, #2
2554 .LVL204:
2555 012c F7E7 b .L181
2556 .L202:
2557 012e C046 .align 2
2558 .L201:
2559 0130 01100000 .word 4097
2560 0134 08270140 .word 1073817352
2561 0138 00000000 .word SystemCoreClock
2562 013c 40420F00 .word 1000000
2563 0140 FFFFFFFE .word -16777217
2564 0144 FFFFBFFF .word -4194305
2565 0148 FFFF7FFF .word -8388609
2566 .cfi_endproc
ARM GAS /tmp/ccbNWEOT.s page 95
2567 .LFE58:
2569 .section .text.HAL_ADC_AnalogWDGConfig,"ax",%progbits
2570 .align 1
2571 .global HAL_ADC_AnalogWDGConfig
2572 .syntax unified
2573 .code 16
2574 .thumb_func
2575 .fpu softvfp
2577 HAL_ADC_AnalogWDGConfig:
2578 .LFB59:
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
2579 .loc 1 2023 0
2580 .cfi_startproc
2581 @ args = 0, pretend = 0, frame = 0
2582 @ frame_needed = 0, uses_anonymous_args = 0
2583 .LVL205:
2584 0000 70B5 push {r4, r5, r6, lr}
2585 .LCFI20:
2586 .cfi_def_cfa_offset 16
2587 .cfi_offset 4, -16
2588 .cfi_offset 5, -12
2589 .cfi_offset 6, -8
2590 .cfi_offset 14, -4
2591 .LVL206:
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2592 .loc 1 2044 0
2593 0002 3423 movs r3, #52
2594 0004 C35C ldrb r3, [r0, r3]
2595 0006 012B cmp r3, #1
2596 0008 49D0 beq .L208
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2597 .loc 1 2044 0 is_stmt 0 discriminator 2
2598 000a 3423 movs r3, #52
2599 000c 0122 movs r2, #1
2600 000e C254 strb r2, [r0, r3]
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2601 .loc 1 2051 0 is_stmt 1 discriminator 2
2602 0010 0368 ldr r3, [r0]
2603 0012 9A68 ldr r2, [r3, #8]
2604 0014 5207 lsls r2, r2, #29
2605 0016 38D4 bmi .L205
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN |
2606 .loc 1 2058 0
2607 0018 DA68 ldr r2, [r3, #12]
2608 001a 224C ldr r4, .L210
2609 001c 2240 ands r2, r4
2610 001e DA60 str r2, [r3, #12]
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) );
2611 .loc 1 2062 0
2612 0020 0468 ldr r4, [r0]
2613 0022 E368 ldr r3, [r4, #12]
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2614 .loc 1 2063 0
2615 0024 4A68 ldr r2, [r1, #4]
2616 0026 9206 lsls r2, r2, #26
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) );
2617 .loc 1 2062 0
ARM GAS /tmp/ccbNWEOT.s page 96
2618 0028 0D68 ldr r5, [r1]
2619 002a 2A43 orrs r2, r5
2620 002c 1343 orrs r3, r2
2621 002e E360 str r3, [r4, #12]
2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres
2622 .loc 1 2067 0
2623 0030 0468 ldr r4, [r0]
2624 0032 E368 ldr r3, [r4, #12]
2625 0034 DB08 lsrs r3, r3, #3
2626 0036 0322 movs r2, #3
2627 0038 1340 ands r3, r2
2628 003a 5B00 lsls r3, r3, #1
2629 003c CD68 ldr r5, [r1, #12]
2630 003e 9D40 lsls r5, r5, r3
2631 0040 2B00 movs r3, r5
2632 .LVL207:
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2633 .loc 1 2068 0
2634 0042 E568 ldr r5, [r4, #12]
2635 0044 ED08 lsrs r5, r5, #3
2636 0046 2A40 ands r2, r5
2637 0048 5200 lsls r2, r2, #1
2638 004a 0D69 ldr r5, [r1, #16]
2639 004c 9540 lsls r5, r5, r2
2640 .LVL208:
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) |
2641 .loc 1 2071 0
2642 004e 226A ldr r2, [r4, #32]
2643 0050 154E ldr r6, .L210+4
2644 0052 3240 ands r2, r6
2645 0054 2262 str r2, [r4, #32]
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted );
2646 .loc 1 2072 0
2647 0056 0468 ldr r4, [r0]
2648 0058 226A ldr r2, [r4, #32]
2649 005a 1B04 lsls r3, r3, #16
2650 .LVL209:
2651 005c 2B43 orrs r3, r5
2652 005e 1343 orrs r3, r2
2653 0060 2362 str r3, [r4, #32]
2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2654 .loc 1 2078 0
2655 0062 0368 ldr r3, [r0]
2656 0064 8022 movs r2, #128
2657 0066 1A60 str r2, [r3]
2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
2658 .loc 1 2081 0
2659 0068 0B7A ldrb r3, [r1, #8]
2660 006a 012B cmp r3, #1
2661 006c 06D0 beq .L209
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2662 .loc 1 2089 0
2663 006e 0268 ldr r2, [r0]
2664 0070 5368 ldr r3, [r2, #4]
2665 0072 8021 movs r1, #128
2666 .LVL210:
2667 0074 8B43 bics r3, r1
ARM GAS /tmp/ccbNWEOT.s page 97
2668 0076 5360 str r3, [r2, #4]
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2669 .loc 1 2024 0
2670 0078 0023 movs r3, #0
2671 007a 0BE0 b .L207
2672 .LVL211:
2673 .L209:
2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2674 .loc 1 2084 0
2675 007c 0268 ldr r2, [r0]
2676 007e 5368 ldr r3, [r2, #4]
2677 0080 8021 movs r1, #128
2678 .LVL212:
2679 0082 0B43 orrs r3, r1
2680 0084 5360 str r3, [r2, #4]
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2681 .loc 1 2024 0
2682 0086 0023 movs r3, #0
2683 0088 04E0 b .L207
2684 .LVL213:
2685 .L205:
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2686 .loc 1 2098 0
2687 008a 836B ldr r3, [r0, #56]
2688 008c 2022 movs r2, #32
2689 008e 1343 orrs r3, r2
2690 0090 8363 str r3, [r0, #56]
2691 .LVL214:
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2692 .loc 1 2100 0
2693 0092 0123 movs r3, #1
2694 .LVL215:
2695 .L207:
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2696 .loc 1 2105 0
2697 0094 3422 movs r2, #52
2698 0096 0021 movs r1, #0
2699 0098 8154 strb r1, [r0, r2]
2700 .LVL216:
2701 .L204:
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2702 .loc 1 2109 0
2703 009a 1800 movs r0, r3
2704 .LVL217:
2705 @ sp needed
2706 009c 70BD pop {r4, r5, r6, pc}
2707 .LVL218:
2708 .L208:
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2709 .loc 1 2044 0
2710 009e 0223 movs r3, #2
2711 00a0 FBE7 b .L204
2712 .L211:
2713 00a2 C046 .align 2
2714 .L210:
2715 00a4 FFFF3F83 .word -2092957697
2716 00a8 00F000F0 .word -268374016
ARM GAS /tmp/ccbNWEOT.s page 98
2717 .cfi_endproc
2718 .LFE59:
2720 .section .text.HAL_ADC_GetState,"ax",%progbits
2721 .align 1
2722 .global HAL_ADC_GetState
2723 .syntax unified
2724 .code 16
2725 .thumb_func
2726 .fpu softvfp
2728 HAL_ADC_GetState:
2729 .LFB60:
2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
2730 .loc 1 2145 0
2731 .cfi_startproc
2732 @ args = 0, pretend = 0, frame = 0
2733 @ frame_needed = 0, uses_anonymous_args = 0
2734 @ link register save eliminated.
2735 .LVL219:
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2736 .loc 1 2150 0
2737 0000 806B ldr r0, [r0, #56]
2738 .LVL220:
2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2739 .loc 1 2151 0
2740 @ sp needed
2741 0002 7047 bx lr
2742 .cfi_endproc
2743 .LFE60:
2745 .section .text.HAL_ADC_GetError,"ax",%progbits
2746 .align 1
2747 .global HAL_ADC_GetError
2748 .syntax unified
2749 .code 16
2750 .thumb_func
2751 .fpu softvfp
2753 HAL_ADC_GetError:
2754 .LFB61:
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->ErrorCode;
2755 .loc 1 2159 0
2756 .cfi_startproc
2757 @ args = 0, pretend = 0, frame = 0
2758 @ frame_needed = 0, uses_anonymous_args = 0
2759 @ link register save eliminated.
2760 .LVL221:
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
2761 .loc 1 2160 0
2762 0000 C06B ldr r0, [r0, #60]
2763 .LVL222:
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
2764 .loc 1 2161 0
2765 @ sp needed
2766 0002 7047 bx lr
2767 .cfi_endproc
2768 .LFE61:
2770 .text
2771 .Letext0:
2772 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin
ARM GAS /tmp/ccbNWEOT.s page 99
2773 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s
2774 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
2775 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
2776 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
2777 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
2778 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
2779 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h"
2780 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
ARM GAS /tmp/ccbNWEOT.s page 100
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f0xx_hal_adc.c
/tmp/ccbNWEOT.s:16 .text.ADC_ConversionStop:0000000000000000 $t
/tmp/ccbNWEOT.s:22 .text.ADC_ConversionStop:0000000000000000 ADC_ConversionStop
/tmp/ccbNWEOT.s:106 .text.ADC_Disable:0000000000000000 $t
/tmp/ccbNWEOT.s:112 .text.ADC_Disable:0000000000000000 ADC_Disable
/tmp/ccbNWEOT.s:228 .text.ADC_Enable:0000000000000000 $t
/tmp/ccbNWEOT.s:234 .text.ADC_Enable:0000000000000000 ADC_Enable
/tmp/ccbNWEOT.s:371 .text.ADC_Enable:000000000000009c $d
/tmp/ccbNWEOT.s:378 .text.HAL_ADC_MspInit:0000000000000000 $t
/tmp/ccbNWEOT.s:385 .text.HAL_ADC_MspInit:0000000000000000 HAL_ADC_MspInit
/tmp/ccbNWEOT.s:400 .text.HAL_ADC_Init:0000000000000000 $t
/tmp/ccbNWEOT.s:407 .text.HAL_ADC_Init:0000000000000000 HAL_ADC_Init
/tmp/ccbNWEOT.s:704 .text.HAL_ADC_Init:0000000000000170 $d
/tmp/ccbNWEOT.s:711 .text.HAL_ADC_MspDeInit:0000000000000000 $t
/tmp/ccbNWEOT.s:718 .text.HAL_ADC_MspDeInit:0000000000000000 HAL_ADC_MspDeInit
/tmp/ccbNWEOT.s:733 .text.HAL_ADC_DeInit:0000000000000000 $t
/tmp/ccbNWEOT.s:740 .text.HAL_ADC_DeInit:0000000000000000 HAL_ADC_DeInit
/tmp/ccbNWEOT.s:868 .text.HAL_ADC_DeInit:0000000000000094 $d
/tmp/ccbNWEOT.s:876 .text.HAL_ADC_Start:0000000000000000 $t
/tmp/ccbNWEOT.s:883 .text.HAL_ADC_Start:0000000000000000 HAL_ADC_Start
/tmp/ccbNWEOT.s:972 .text.HAL_ADC_Start:000000000000005c $d
/tmp/ccbNWEOT.s:977 .text.HAL_ADC_Stop:0000000000000000 $t
/tmp/ccbNWEOT.s:984 .text.HAL_ADC_Stop:0000000000000000 HAL_ADC_Stop
/tmp/ccbNWEOT.s:1053 .text.HAL_ADC_Stop:0000000000000040 $d
/tmp/ccbNWEOT.s:1058 .text.HAL_ADC_PollForConversion:0000000000000000 $t
/tmp/ccbNWEOT.s:1065 .text.HAL_ADC_PollForConversion:0000000000000000 HAL_ADC_PollForConversion
/tmp/ccbNWEOT.s:1228 .text.HAL_ADC_PollForConversion:00000000000000c0 $d
/tmp/ccbNWEOT.s:1233 .text.HAL_ADC_PollForEvent:0000000000000000 $t
/tmp/ccbNWEOT.s:1240 .text.HAL_ADC_PollForEvent:0000000000000000 HAL_ADC_PollForEvent
/tmp/ccbNWEOT.s:1351 .text.HAL_ADC_Start_IT:0000000000000000 $t
/tmp/ccbNWEOT.s:1358 .text.HAL_ADC_Start_IT:0000000000000000 HAL_ADC_Start_IT
/tmp/ccbNWEOT.s:1474 .text.HAL_ADC_Start_IT:0000000000000084 $d
/tmp/ccbNWEOT.s:1479 .text.HAL_ADC_Stop_IT:0000000000000000 $t
/tmp/ccbNWEOT.s:1486 .text.HAL_ADC_Stop_IT:0000000000000000 HAL_ADC_Stop_IT
/tmp/ccbNWEOT.s:1561 .text.HAL_ADC_Stop_IT:000000000000004c $d
/tmp/ccbNWEOT.s:1566 .text.HAL_ADC_Start_DMA:0000000000000000 $t
/tmp/ccbNWEOT.s:1573 .text.HAL_ADC_Start_DMA:0000000000000000 HAL_ADC_Start_DMA
/tmp/ccbNWEOT.s:1702 .text.HAL_ADC_Start_DMA:0000000000000098 $d
/tmp/ccbNWEOT.s:1889 .text.ADC_DMAConvCplt:0000000000000000 ADC_DMAConvCplt
/tmp/ccbNWEOT.s:2016 .text.ADC_DMAHalfConvCplt:0000000000000000 ADC_DMAHalfConvCplt
/tmp/ccbNWEOT.s:2091 .text.ADC_DMAError:0000000000000000 ADC_DMAError
/tmp/ccbNWEOT.s:1710 .text.HAL_ADC_Stop_DMA:0000000000000000 $t
/tmp/ccbNWEOT.s:1717 .text.HAL_ADC_Stop_DMA:0000000000000000 HAL_ADC_Stop_DMA
/tmp/ccbNWEOT.s:1830 .text.HAL_ADC_Stop_DMA:0000000000000078 $d
/tmp/ccbNWEOT.s:1835 .text.HAL_ADC_GetValue:0000000000000000 $t
/tmp/ccbNWEOT.s:1842 .text.HAL_ADC_GetValue:0000000000000000 HAL_ADC_GetValue
/tmp/ccbNWEOT.s:1861 .text.HAL_ADC_ConvCpltCallback:0000000000000000 $t
/tmp/ccbNWEOT.s:1868 .text.HAL_ADC_ConvCpltCallback:0000000000000000 HAL_ADC_ConvCpltCallback
/tmp/ccbNWEOT.s:1883 .text.ADC_DMAConvCplt:0000000000000000 $t
/tmp/ccbNWEOT.s:1983 .text.ADC_DMAConvCplt:000000000000006c $d
/tmp/ccbNWEOT.s:1988 .text.HAL_ADC_ConvHalfCpltCallback:0000000000000000 $t
/tmp/ccbNWEOT.s:1995 .text.HAL_ADC_ConvHalfCpltCallback:0000000000000000 HAL_ADC_ConvHalfCpltCallback
/tmp/ccbNWEOT.s:2010 .text.ADC_DMAHalfConvCplt:0000000000000000 $t
/tmp/ccbNWEOT.s:2041 .text.HAL_ADC_LevelOutOfWindowCallback:0000000000000000 $t
/tmp/ccbNWEOT.s:2048 .text.HAL_ADC_LevelOutOfWindowCallback:0000000000000000 HAL_ADC_LevelOutOfWindowCallback
/tmp/ccbNWEOT.s:2063 .text.HAL_ADC_ErrorCallback:0000000000000000 $t
ARM GAS /tmp/ccbNWEOT.s page 101
/tmp/ccbNWEOT.s:2070 .text.HAL_ADC_ErrorCallback:0000000000000000 HAL_ADC_ErrorCallback
/tmp/ccbNWEOT.s:2085 .text.ADC_DMAError:0000000000000000 $t
/tmp/ccbNWEOT.s:2126 .text.HAL_ADC_IRQHandler:0000000000000000 $t
/tmp/ccbNWEOT.s:2133 .text.HAL_ADC_IRQHandler:0000000000000000 HAL_ADC_IRQHandler
/tmp/ccbNWEOT.s:2304 .text.HAL_ADC_IRQHandler:00000000000000d8 $d
/tmp/ccbNWEOT.s:2309 .text.HAL_ADC_ConfigChannel:0000000000000000 $t
/tmp/ccbNWEOT.s:2316 .text.HAL_ADC_ConfigChannel:0000000000000000 HAL_ADC_ConfigChannel
/tmp/ccbNWEOT.s:2559 .text.HAL_ADC_ConfigChannel:0000000000000130 $d
/tmp/ccbNWEOT.s:2570 .text.HAL_ADC_AnalogWDGConfig:0000000000000000 $t
/tmp/ccbNWEOT.s:2577 .text.HAL_ADC_AnalogWDGConfig:0000000000000000 HAL_ADC_AnalogWDGConfig
/tmp/ccbNWEOT.s:2715 .text.HAL_ADC_AnalogWDGConfig:00000000000000a4 $d
/tmp/ccbNWEOT.s:2721 .text.HAL_ADC_GetState:0000000000000000 $t
/tmp/ccbNWEOT.s:2728 .text.HAL_ADC_GetState:0000000000000000 HAL_ADC_GetState
/tmp/ccbNWEOT.s:2746 .text.HAL_ADC_GetError:0000000000000000 $t
/tmp/ccbNWEOT.s:2753 .text.HAL_ADC_GetError:0000000000000000 HAL_ADC_GetError
UNDEFINED SYMBOLS
HAL_GetTick
__aeabi_uidiv
SystemCoreClock
HAL_DMA_Start_IT
HAL_DMA_Abort