Files
RFG_stm32_ADC_STM32F429/build/stm32f4xx_hal_adc.lst

6325 lines
398 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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