📄 stm32f10x_adc.lst
字号:
165:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /**
166:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @}
167:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
168:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
169:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /** @defgroup ADC_Private_Functions
170:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @{
171:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
172:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
173:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /**
174:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @brief Deinitializes the ADCx peripheral registers to their default
175:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * reset values.
176:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
177:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @retval : None
178:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
179:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** void ADC_DeInit(ADC_TypeDef* ADCx)
180:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
181:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Check the parameters */
182:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_ALL_PERIPH(ADCx));
183:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** switch (*(uint32_t*)&ADCx)
184:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
185:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** case ADC1_BASE:
186:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Enable ADC1 reset state */
187:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1, ENABLE);
188:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Release ADC1 from reset state */
189:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1, DISABLE);
190:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** break;
191:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
192:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** case ADC2_BASE:
193:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Enable ADC2 reset state */
194:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2, ENABLE);
195:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Release ADC2 from reset state */
196:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2, DISABLE);
197:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** break;
198:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
199:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** case ADC3_BASE:
200:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Enable ADC3 reset state */
201:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3, ENABLE);
202:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Release ADC3 from reset state */
203:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3, DISABLE);
204:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** break;
205:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** default:
206:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** break;
207:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
208:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
209:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
210:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /**
211:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @brief Initializes the ADCx peripheral according to the specified parameters
212:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * in the ADC_InitStruct.
213:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
214:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param ADC_InitStruct: pointer to an ADC_InitTypeDef structure that
215:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * contains the configuration information for the specified
216:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * ADC peripheral.
217:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @retval : None
218:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
219:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct)
220:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
31 .loc 1 220 0
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 .LVL0:
221:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** uint32_t tmpreg1 = 0;
222:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** uint8_t tmpreg2 = 0;
223:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Check the parameters */
224:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_ALL_PERIPH(ADCx));
225:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_MODE(ADC_InitStruct->ADC_Mode));
226:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_FUNCTIONAL_STATE(ADC_InitStruct->ADC_ScanConvMode));
227:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_FUNCTIONAL_STATE(ADC_InitStruct->ADC_ContinuousConvMode));
228:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_EXT_TRIG(ADC_InitStruct->ADC_ExternalTrigConv));
229:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_DATA_ALIGN(ADC_InitStruct->ADC_DataAlign));
230:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(ADC_InitStruct->ADC_NbrOfChannel));
231:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /*---------------------------- ADCx CR1 Configuration -----------------*/
232:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Get the ADCx CR1 value */
233:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 = ADCx->CR1;
35 .loc 1 233 0
36 0000 4368 ldr r3, [r0, #4]
37 .LVL1:
234:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Clear DUALMOD and SCAN bits */
235:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 &= CR1_CLEAR_Mask;
236:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Configure ADCx: Dual mode and scan conversion mode */
237:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Set DUALMOD bits according to ADC_Mode value */
238:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Set SCAN bit according to ADC_ScanConvMode value */
239:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 |= (uint32_t)(ADC_InitStruct->ADC_Mode | ((uint32_t)ADC_InitStruct->ADC_ScanConvMode << 8
38 .loc 1 239 0
39 0002 0A68 ldr r2, [r1, #0]
40 0004 23F47023 bic r3, r3, #983040
41 .LVL2:
42 0008 23F48073 bic r3, r3, #256
43 000c 1343 orrs r3, r3, r2
44 000e 0A79 ldrb r2, [r1, #4] @ zero_extendqisi2
45 .loc 1 220 0
46 0010 10B5 push {r4, lr}
47 .LCFI0:
48 .loc 1 239 0
49 0012 43EA0223 orr r3, r3, r2, lsl #8
50 .LVL3:
240:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Write to ADCx CR1 */
241:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->CR1 = tmpreg1;
51 .loc 1 241 0
52 0016 4360 str r3, [r0, #4]
242:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /*---------------------------- ADCx CR2 Configuration -----------------*/
243:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Get the ADCx CR2 value */
244:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 = ADCx->CR2;
245:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Clear CONT, ALIGN and EXTSEL bits */
246:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 &= CR2_CLEAR_Mask;
247:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Configure ADCx: external trigger event and continuous conversion mode */
248:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Set ALIGN bit according to ADC_DataAlign value */
249:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Set EXTSEL bits according to ADC_ExternalTrigConv value */
250:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Set CONT bit according to ADC_ContinuousConvMode value */
251:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 |= (uint32_t)(ADC_InitStruct->ADC_DataAlign | ADC_InitStruct->ADC_ExternalTrigConv |
53 .loc 1 251 0
54 0018 CB68 ldr r3, [r1, #12]
55 .LVL4:
56 001a 8A68 ldr r2, [r1, #8]
57 .loc 1 244 0
58 001c 8468 ldr r4, [r0, #8]
59 .LVL5:
60 .loc 1 251 0
61 001e 1A43 orrs r2, r2, r3
62 0020 084B ldr r3, .L3
63 0022 04EA0303 and r3, r4, r3
64 0026 1A43 orrs r2, r2, r3
65 0028 4B79 ldrb r3, [r1, #5] @ zero_extendqisi2
66 002a 42EA4302 orr r2, r2, r3, lsl #1
67 .LVL6:
252:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ((uint32_t)ADC_InitStruct->ADC_ContinuousConvMode << 1));
253:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Write to ADCx CR2 */
254:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->CR2 = tmpreg1;
68 .loc 1 254 0
69 002e 8260 str r2, [r0, #8]
255:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /*---------------------------- ADCx SQR1 Configuration -----------------*/
256:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Get the ADCx SQR1 value */
257:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 = ADCx->SQR1;
258:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Clear L bits */
259:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 &= SQR1_CLEAR_Mask;
260:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Configure ADCx: regular channel sequence length */
261:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Set L bits according to ADC_NbrOfChannel value */
262:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg2 |= (ADC_InitStruct->ADC_NbrOfChannel - 1);
263:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 |= ((uint32_t)tmpreg2 << 20);
70 .loc 1 263 0
71 0030 0B7C ldrb r3, [r1, #16] @ zero_extendqisi2
72 .loc 1 257 0
73 0032 C26A ldr r2, [r0, #44]
74 .LVL7:
75 .loc 1 263 0
76 0034 013B subs r3, r3, #1
77 .loc 1 259 0
78 0036 22F47002 bic r2, r2, #15728640
79 .LVL8:
80 .loc 1 263 0
81 003a DBB2 uxtb r3, r3
82 003c 42EA0352 orr r2, r2, r3, lsl #20
83 .LVL9:
264:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Write to ADCx SQR1 */
265:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->SQR1 = tmpreg1;
84 .loc 1 265 0
85 0040 C262 str r2, [r0, #44]
266:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
86 .loc 1 266 0
87 0042 10BD pop {r4, pc}
88 .L4:
89 .align 2
90 .L3:
91 0044 FDF7F1FF .word -919555
92 .LFE27:
94 .section .text.ADC_StructInit,"ax",%progbits
95 .align 2
96 .global ADC_StructInit
97 .thumb
98 .thumb_func
100 ADC_StructInit:
101 .LFB28:
267:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
268:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /**
269:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @brief Fills each ADC_InitStruct member with its default value.
270:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param ADC_InitStruct : pointer to an ADC_InitTypeDef structure
271:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * which will be initialized.
272:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @retval : None
273:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
274:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct)
275:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
102 .loc 1 275 0
103 @ args = 0, pretend = 0, frame = 0
104 @ frame_needed = 0, uses_anonymous_args = 0
105 @ link register save eliminated.
106 .LVL10:
276:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Reset ADC init structure parameters values */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -