B3M38SPD seminar project - beehive monitor with LoRa reporting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
spd-lorabees/build/stm32l0xx_hal_adc.lst

5657 lines
356 KiB

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