stm32f10x_adc.lst
来自「STM32 Mouse DEMO sorry current program 」· LST 代码 · 共 928 行 · 第 1/5 页
LST
928 行
460:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_ALL_PERIPH(ADCx));
461:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
462:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** if (NewState != DISABLE)
312 .loc 1 462 0
313 0000 19B1 cbz r1, .L31
463:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
464:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Enable the selected ADC conversion on external event and start the selected
465:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADC conversion */
466:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->CR2 |= CR2_EXTTRIG_SWSTART_Set;
314 .loc 1 466 0
315 0002 8368 ldr r3, [r0, #8]
316 0004 43F4A003 orr r3, r3, #5242880
317 0008 02E0 b .L34
318 .L31:
467:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
468:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** else
469:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
470:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Disable the selected ADC conversion on external event and stop the selected
471:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADC conversion */
472:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->CR2 &= CR2_EXTTRIG_SWSTART_Reset;
319 .loc 1 472 0
320 000a 8368 ldr r3, [r0, #8]
321 000c 23F4A003 bic r3, r3, #5242880
322 .L34:
323 0010 8360 str r3, [r0, #8]
473:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
474:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
324 .loc 1 474 0
325 0012 7047 bx lr
326 .LFE36:
328 .section .text.ADC_GetSoftwareStartConvStatus,"ax",%progbits
329 .align 2
330 .global ADC_GetSoftwareStartConvStatus
331 .thumb
332 .thumb_func
334 ADC_GetSoftwareStartConvStatus:
335 .LFB37:
475:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
476:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /**
477:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @brief Gets the selected ADC Software start conversion Status.
478:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
479:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @retval : The new state of ADC software start conversion (SET or RESET).
480:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
481:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx)
482:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
336 .loc 1 482 0
337 @ args = 0, pretend = 0, frame = 0
338 @ frame_needed = 0, uses_anonymous_args = 0
339 @ link register save eliminated.
340 .LVL22:
483:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** FlagStatus bitstatus = RESET;
484:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Check the parameters */
485:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_ALL_PERIPH(ADCx));
486:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Check the status of SWSTART bit */
487:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** if ((ADCx->CR2 & CR2_SWSTART_Set) != (uint32_t)RESET)
341 .loc 1 487 0
342 0000 8068 ldr r0, [r0, #8]
343 .LVL23:
488:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
489:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* SWSTART bit is set */
490:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** bitstatus = SET;
491:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
492:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** else
493:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
494:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* SWSTART bit is reset */
495:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** bitstatus = RESET;
496:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
497:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Return the SWSTART bit status */
498:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** return bitstatus;
499:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
344 .loc 1 499 0
345 0002 C0F38050 ubfx r0, r0, #22, #1
346 0006 7047 bx lr
347 .LFE37:
349 .section .text.ADC_DiscModeChannelCountConfig,"ax",%progbits
350 .align 2
351 .global ADC_DiscModeChannelCountConfig
352 .thumb
353 .thumb_func
355 ADC_DiscModeChannelCountConfig:
356 .LFB38:
500:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
501:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /**
502:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @brief Configures the discontinuous mode for the selected ADC regular
503:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * group channel.
504:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
505:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param Number: specifies the discontinuous mode regular channel
506:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * count value. This number must be between 1 and 8.
507:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @retval : None
508:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
509:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, uint8_t Number)
510:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
357 .loc 1 510 0
358 @ args = 0, pretend = 0, frame = 0
359 @ frame_needed = 0, uses_anonymous_args = 0
360 @ link register save eliminated.
361 .LVL24:
511:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** uint32_t tmpreg1 = 0;
512:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** uint32_t tmpreg2 = 0;
513:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Check the parameters */
514:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_ALL_PERIPH(ADCx));
515:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_REGULAR_DISC_NUMBER(Number));
516:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Get the old register value */
517:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 = ADCx->CR1;
362 .loc 1 517 0
363 0000 4368 ldr r3, [r0, #4]
364 .LVL25:
518:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Clear the old discontinuous mode channel count */
519:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 &= CR1_DISCNUM_Reset;
520:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Set the discontinuous mode channel count */
521:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg2 = Number - 1;
522:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** tmpreg1 |= tmpreg2 << 13;
365 .loc 1 522 0
366 0002 0139 subs r1, r1, #1
367 .LVL26:
368 .loc 1 519 0
369 0004 23F46043 bic r3, r3, #57344
370 .LVL27:
371 .loc 1 522 0
372 0008 43EA4133 orr r3, r3, r1, lsl #13
373 .LVL28:
523:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Store the new register value */
524:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->CR1 = tmpreg1;
374 .loc 1 524 0
375 000c 4360 str r3, [r0, #4]
525:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
376 .loc 1 525 0
377 000e 7047 bx lr
378 .LFE38:
380 .section .text.ADC_DiscModeCmd,"ax",%progbits
381 .align 2
382 .global ADC_DiscModeCmd
383 .thumb
384 .thumb_func
386 ADC_DiscModeCmd:
387 .LFB39:
526:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c ****
527:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /**
528:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @brief Enables or disables the discontinuous mode on regular group
529:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * channel for the specified ADC
530:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
531:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @param NewState: new state of the selected ADC discontinuous mode
532:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * on regular group channel.
533:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * This parameter can be: ENABLE or DISABLE.
534:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** * @retval : None
535:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** */
536:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
537:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
388 .loc 1 537 0
389 @ args = 0, pretend = 0, frame = 0
390 @ frame_needed = 0, uses_anonymous_args = 0
391 @ link register save eliminated.
392 .LVL29:
538:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Check the parameters */
539:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_ADC_ALL_PERIPH(ADCx));
540:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
541:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** if (NewState != DISABLE)
393 .loc 1 541 0
394 0000 19B1 cbz r1, .L40
542:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
543:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Enable the selected ADC regular discontinuous mode */
544:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->CR1 |= CR1_DISCEN_Set;
395 .loc 1 544 0
396 0002 4368 ldr r3, [r0, #4]
397 0004 43F40063 orr r3, r3, #2048
398 0008 02E0 b .L43
399 .L40:
545:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
546:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** else
547:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** {
548:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** /* Disable the selected ADC regular discontinuous mode */
549:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** ADCx->CR1 &= CR1_DISCEN_Reset;
400 .loc 1 549 0
401 000a 4368 ldr r3, [r0, #4]
402 000c 23F40063 bic r3, r3, #2048
403 .L43:
404 0010 4360 str r3, [r0, #4]
550:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
551:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c **** }
405 .loc 1 551 0
406 0012 7047 bx lr
407 .LFE39:
409 .section .text.ADC_RegularChannelConfig,"ax",%progbits
410
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?